¿Pero de que código hablas? (si hay problemas .. debes poner el código completo que uses y donde se origina el problema (indicarlo))
¿o que parte es a partir de ahí no se vé éjecuta el resto?
Te sucede siempre o sólo cuando ves "La inscripción no se ha enviado"?, por qué el "die()" hace dos cosas: para la ejecución del script en ese punto (con lo cual no se cerraría esa tabla HTML que ahí compones ...) y muestra el mensaje que ahí indicas.
Te vendría mejor usar mail() pero bajo un condicional if() simple:
Código PHP:
if (mail(......)){
echo "gracias ...";
} else {
echo "hay un problema";
}
Y mejor todavía si sacas esos mensajes de error/gracias a otra página .. por qué fijate que cuando se envie el e-mail correctamente si recargas la página vas a ejecutar denuevo tu script que envia el e-mail con los datos anteriores . .es más .. dependiendo del metodo de envio usado en tu formulario veras que se te solicitan enviar los datos denuevo al servidor. Lo cual ocasionará que se envien tantos e-mails como hasta que se arte el usuario "malicioso" de hacer una recarga de página ...
Solución:
quita todo ese HTML que tienes en el script que haces mail() .. no sirve de nada pues vamos a usar a PHP y ese script para el proceso integro PHP .. nada de mensajes ni más HTML por médio no es necesario.
Código PHP:
if (mail(......)){
header ("Location: gracias.html");
exit;
} else {
header ("Location: error.html");
exit;
}
Ahí se redirecciona a la página que corresponda según sea que terminó el proceso bien o hay algún error.
Un saludo,