Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/07/2004, 15:11
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
¿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,