2010-03-10 18 views
5

Tengo un sistema de inicio de sesión, y mientras estoy conectado, si actualizo el navegador, Chrome muestra una ventana emergente titulada "Confirmar nueva presentación de formulario". Supongo que ocurriría lo mismo con otros navegadores.Permitir a los usuarios actualizar el navegador sin la ventana emergente "Confirmar reenvío de formulario"

¿Cómo puedo permitir que el navegador se actualice sin esta ventana emergente de confirmación? Por supuesto, también me gustaría permanecer conectado mientras actualizo el navegador.

Respuesta

15

Después de procesar la página POST, redirija al usuario a la misma página.

En http://test.com/test.php

header('Location: http://test.com/test.php'); 

Esto deshacerse de la caja, como la actualización de la página no va a volver a enviar los datos.

+0

Gracias ... esto parece prometedor, pero cuando he añadido a mi página de índice, la página no lo haría cargar y Chrome dijo que tenía un problema de bucle de redireccionamiento. – John

+3

Solo tiene que redirigirlo cuando detecta datos POST. Prueba algo como 'if ($ _ SERVER ['REQUEST_METHOD'] ==" POST ") {header ('blah blah blah'); } ' –

+0

Sí, solo ponerlo en la página en cualquier lugar redirigirá al usuario cada vez, creando un bucle de redirección a la misma página. Tienes que tener alguna declaración que lo detenga. – animuson

0

bien, así que en la parte superior de la página de acceso que, sólo puede tener esto:

<?php 
if (isset($_POST['username'])) { 
// Do you login stuff here.... 

if ($passed == true) { 
    header('Location: index.php'); 
} else { 
    echo "Invalid username/password!"; 
} 
Cuestiones relacionadas