Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/10/2003, 20:31
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
drcyber

OJO!!!! con esos "echo" (mostrar un mensaje) en la misma página de proceso (en este caso de enviar un e-mail) al finalizar tu proceso.

Si recargas la página .. tu navegador te va a solicitar enviar denuevo los datos del formulario .. si das al "OK" .. vas a produción que se procese denuevo esa página que contiene tu sentencia de mail() .. osease, se va a enviar un e-mail nuevo .. y así hasta que se aburra el usuario de recargar la página (lo mismo ocurriria y pero con "BD" ocasionando (normalmente) registros duplicados a cada recarga de la página).

Para solventar ese problema .. tras finalizar el proceso es NECESARIO salir de ese script redireccionando a otro sitio (o a si mismo .. pero redirecconando ..)

En este caso particular .. deberías tener una página de "gracias.html" por ejemplo y al terminar tu proceso de enviar el e-mail .. redireccionar automáticamente a esa página .. ejemplo:

Código PHP:
if (mail(....)){
header("location: gracias.html");
exit;
} else{
header("location: error.html");
exit;

si se dan cuenta .. uso otra página "error.html" para mostrar errores si los hay (por ejemplo si no se pudo enviar el email ya que mail() devuelve true si lo envió y false si no lo envio .. (si por lo menos pudo conectar al MTA que use mail() .. no de que si llegó a su destinatario .. eso no lo puede controlar mail() ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.