Foros del Web » Programando para Internet » PHP »

evitar reenviar mail

Estas en el tema de evitar reenviar mail en el foro de PHP en Foros del Web. Hola amigos un saludos para toda la gente Mi problema es el siguiente tengo un formulario de envio de correos estan formadas por 2 paginas: ...
  #1 (permalink)  
Antiguo 21/06/2006, 13:59
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
evitar reenviar mail

Hola amigos un saludos para toda la gente
Mi problema es el siguiente tengo un formulario de envio de correos estan formadas por 2 paginas:

1.- La pagina del formulario
2.- La pagina que procesa el envio osea el codigo php

El envio esta muy bien, cuando yo lleno el formulario y envio se procesa la pagina del codigo php ahi sale un mensaje agradeciendo por el envio hasta ahi todo ok pero si hago F5 vuelve a enviar y si hago de nuevo F5 vuelve a enviar y asi susesivamente como hago para controlar eso que envie solo una vez.

No se si me deje entender gracias de antemano por todo
  #2 (permalink)  
Antiguo 21/06/2006, 14:20
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
Exclamación Saludos

Hola Juanpro al menos yo si te entendí y ahorita que leo tu post me surgió la misma duda, esperemos que nos contesten los gurus de la programación..
__________________
"Semper est periculosam societas cum potentem"
  #3 (permalink)  
Antiguo 21/06/2006, 16:22
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Bien, lo que pueden hacer es lo siguiente:
Código PHP:
<?php

$origen 
$PHP_SELF;
if (
$origen != "direccion_http_de_tu_formulario")
{
header ("Location: ruta_de_pagina_a_la_que_redireccionas");
exit();
}

/// Codigo de proceso de tu formulario

?>
  #4 (permalink)  
Antiguo 21/06/2006, 16:35
Avatar de harg  
Fecha de Ingreso: abril-2002
Ubicación: Querétaro
Mensajes: 573
Antigüedad: 22 años
Puntos: 3
Exclamación Saludos

Hola Hebo una pregunta esto lo pones antes del form ?
__________________
"Semper est periculosam societas cum potentem"
  #5 (permalink)  
Antiguo 21/06/2006, 16:44
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
si, aunque me estoy fijando que el $PHP_SELF no coje la ultima pagina y no se, si buscan y encuentran una variable que les de la ultima pagina visitada, esto les servira
  #6 (permalink)  
Antiguo 21/06/2006, 17:02
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
Puedes explicar un poco tu logica poniendo el caso de que tenemos 2 paginas 1.- que es el formulario y 2.- el codigo php q lo procesa
  #7 (permalink)  
Antiguo 21/06/2006, 17:10
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 20 años, 7 meses
Puntos: 0
Yo hise esto:

function restringir(){
if (!isset($_POST['usuario']) && !isset($_POST['pass'])){
header ("Location: restringir.php");
exit();
}
}

agregue 2 campos ocultos en el formulario al momento de enviar se envia estos con su valor y lo que hace esta funcion es verifica si esos valores estan definidos.
Pero esto me sirvio para cuando la gente mal intencionada que copia la url que procesa el correo y lo pega en otra venta de IE me restringe esto pero para controlar lo otro de hacer F5 y que no vuelva enviar aun no lo doy.

Alguien que tenga una idea y pueda compartirla
Gracias de antemano
  #8 (permalink)  
Antiguo 21/06/2006, 17:26
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 2 meses
Puntos: 10
me parece que la opcion mas sencilla es hacer que despues de que se mande el mail se redireccione a otro documento donde solo se muestre el mensaje.
__________________
oohh... quisiera ser godines!!!
  #9 (permalink)  
Antiguo 22/06/2006, 07:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por safe
me parece que la opcion mas sencilla es hacer que despues de que se mande el mail se redireccione a otro documento donde solo se muestre el mensaje.
Coincido plenamente ..

Así evitas los típicos erroes de duplicidad de registros o re-envios de datos del formulario en general que ocasionan eso mismo: que el script de proceso se ejecute tantas veces como uno recargue la página que muestra el mensaje.

Lo importante es "dejar" el script de proceso o parte del proceso en una "petición" sólo .. es decir, .. al terminar el proceso en sí, redireccionar (a otro scritp o a si mismo .. pero no dejar el mensaje ahí mismo ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 22:21.