Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2013, 17:54
Melisa06
 
Fecha de Ingreso: febrero-2006
Mensajes: 35
Antigüedad: 18 años, 2 meses
Puntos: 1
Cómo puedo evitar el reenvío de un formulario

Hola, tengo una página que muestra productos.

Al final de la misma hay un formulario para que los usuarios envíen una consulta al vendedor, esto funciona bien, y luego de enviado el mensaje, la página vuelve a cargarse, y en vez del formulario sale la frase "Consulta enviada".

El problema que tengo es que luego de enviarlo, si un usuario malintencionado sólo por molestar apreta la tecla "F5", puede enviar el formulario cientos de veces en poco tiempo, porque se vuelve a reenviar como si lo hubiesen cargado desde cero.

Espero haberme explicado bien, por favor podrían decirme si conocen una forma de evitar ese reenvío ?

Dejo el código sólo del formulario:

<?php
$result=mysqli_query($link, "select * from xxxxxxxx");

while($row=mysqli_fetch_array($result ))
{
echo "Vendedor: <br> ";
echo $row["nombre_vendedor"];
echo $row["apellido_vendedor"];
echo "Enviar consulta:<br> ";
echo " <br>";

if (!isset($_POST['email'])) {
?>
<form method="post">
<label>
Nombre:
<input name="nombre" type="text" required /><br>
</label>
<label>
Email:
<input name="email" type="email" required /><br>
</label>
<label>
Consulta:
<textarea name="consulta" rows="5" cols="30" required></textarea><br>
</label>
<input type="submit" value="Enviar" />
</form>

<?php
}else{
$mensaje.= "\nNombre: ". $_POST['nombre'];
$mensaje.= "\nEmail: ".$_POST['email'];
$mensaje.= "\nConsulta: \n".$_POST['consulta'];
$destino=$row["mail_vendedor"];
$remitente=$_POST['email'];
$asunto = "Consulta";
mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
<p>Consulta enviada</p>
<?php
}

}
mysqli_free_result($resultado)
?>