Foros del Web » Programando para Internet » PHP »

Evitar reenviar correo

Estas en el tema de Evitar reenviar correo en el foro de PHP en Foros del Web. He hecho un formulario en una pagina que se envia a un correo electronico con la funcion mail. El codigo de envio (para montar el ...
  #1 (permalink)  
Antiguo 26/05/2006, 03:16
Avatar de oskarL  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 499
Antigüedad: 18 años, 10 meses
Puntos: 2
Evitar reenviar correo

He hecho un formulario en una pagina que se envia a un correo electronico con la funcion mail. El codigo de envio (para montar el correo y enviarlo) esta en la misma pagina del formulario, y controlo que si se ha enviado correctamente o no, se muestra o no el formulario.

Lo que pasa es que, una vez enviado un formulario, sacando el correspodiente mensaje de confirmacion de envio, si a alguno le diera por recargar la pagina, se volveria a enviar otra vez el correo... no se si me explico. Me gustaria saber alguna forma de solucionar esto. Gracias!

Esto es una pequeña parte del codigo, como ejemplo:

Código PHP:
<?php
foreach($_POST as $key => $value) $$key $value;
$mostrar_form=1;

if(isset(
$submit)){

    
//Montado del destinatario, asunto, cuerpo y cabeceras
                        
    
if(mail($destinatario$asunto$cuerpo$cabeceras)){
         
$mostrar_form=0;
    
?>
            
    <p>El correo se ha enviado correctamente</p>
    <?php
    
}else{    
    
?>
    <p>No se ha podido enviar el correo, por favor, intentelo de nuevo mas tarde.</p>
                            
    <?php
    
}

}
                    
if(
$mostrar_form){
?>
     <!--FORMULARIO-->
<?php
}
?>
__________________
Solo hay 10 clases de personas, las que saben binario y las que no.
  #2 (permalink)  
Antiguo 26/05/2006, 05:14
Avatar de tralara  
Fecha de Ingreso: diciembre-2003
Mensajes: 230
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola, podrías guardar en una variable de sesion enviado = 1, entonces al recargar la pagina si enviado igual a uno no enviar mail otra vez, si no esta seteada sesion de envio, que lo envie, algo asi podria servirte.

Saludos
  #3 (permalink)  
Antiguo 26/05/2006, 09:23
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 4 meses
Puntos: 281
yo haria una pagina diferente para enviar el email y que despues de forward a esa pagina. de esa forma si le das back no te lleva a la pagina de script, sino a la del form. eso hago cuando hago INSERT para que no se inserten los datos si se le da refresh a la pagina.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:40.