> Faqs > Actualizar navegador sin ejecutar POST

Actualizar navegador sin ejecutar POST

les quiero plantear una duda que tengo... Yo tengo un formulario que es enviado a la misma pagina index.php en donde está (action="index.php") mediante el método POST. Mi problema es el siguiente:

  1. El usuario hace el submit del formulario (y almacena los contenidos del formulario en una base de datos).

  2. La página se recarga (sobre si misma) y si, una vez recarada la pagina, el usuario hace click en el boton ACTUALIZAR del navegador y la consulta SQL se vuelve a ejecutar. Por lo tanto... sale un error porque no puede ingresar dos veces el mismo registro, lo cual está bien (ya que uno de los campos del formulario sirve como clave primaria de una tabla).

Mi pregunta: Cómo puedo hacer para que al recargar la página, por más que el usuario haga click en el botón ACTUALIZAR del navegador, no se vuelva a ejecutar el POST que estaba cargado?? Se entiende??

Respuestas

Pon una página intermedia que haga el proceso y que reenvié a la página final. De esta forma al actualizar el usuario solo recargara la página que le dice que todo se hizo correctamente.

La pagina intermedia debe redireccionar mediante un header a la pagina de "envío correcto" o de "error" según corresponda. Para este redireccionamiento deberías usar un header del tipo:
header("Location:paginaok.php");

Y recordar que en esta pagina no se debe imprimir nada solo redireccionar a la página con contenido.

Jorge Molina