Ver Mensaje Individual
  #11 (permalink)  
Antiguo 28/03/2007, 20:17
El Patrón.
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años
Puntos: 3
Re: Como resolver esto?...

Cita:
Iniciado por okram Ver Mensaje
No es la solucion. Como explique en el post anterior, si la pagina que procesa el logueo es la misma que envia los datos al navegador, y despues se llama un logout que elimina la sesion, y al dar un Back, pues regresa a la pagina "exclusiva", que desafortunadamente es la misma que proceso el logueo. Esta pagina fue llamada usando el método POST, y se proceso con los datos de un formulario, por lo que el navegador devolverá que la pagina ha caducado, y le dara la opcion de refrescar la pagina si se desea enviar los datos del formulario nuevamente. Antes de iniciar sesion, el usuario no tenia ninguna fila asignada en la tabla de usuarios de la BD, asi que al enviar los datos del formulario nuevamente, lo logico es que el sistema lo procese como si recien estuviera logueandose, y creara una nueva fuila en la base de datos, y... whaala el usuario se logueo denuevo.


No serviria de nada, puesto que al dar en el boton Back, el navegador toma la pagina de su cache, y no la vuelve a pedir al servidor, por lo que ningún código PHP ni de cualquier otro tipo que se ejecute del lado del servidor será ejecutado. La página ya fue enviada al navegador, este la guardo en cache y pues si se la vuelve a pedir usando el Back pues tomara esta pagina guardada sin hacer ninguna peticion al servidor.

Lo mejor que puedes hacer es lo que te dije en el post anterior, que tu pagina que procesa los datos del login sea unica y exclusivamente para eso (me refiero, a que no muestre ningun tipo de contenido [que no envie nada al navegador])... Luego, usando un header('Location: ...'); dirijes a la pagina "exclusiva". Asi, al dar en logout, y si el usuario da en el boton Back, volvera al formulario y no a la pagina que lo proceso, pues ésta prácticamente no existe para el navegador...

Un saludo,
No serviria de nada..

Pues personalmente yo lo manejo asi y me funciona perfectamente, puesto que tanto al loguearse como al desloguearse viaja a la pagina login.php con un parametro distinto y por ej a la hora de loguearse el va y mira en la bd y si los datos son correctos crea una sesion y lo inserta en la tabla Sesion, y cuando se desloguea se elimina el dato de la base de datos y se libera la cookie... y entonces asi de click en el boton back.. mala suerte...

Asi, al dar en logout, y si el usuario da en el boton Back, volvera al formulario y no a la pagina que lo proceso, pues ésta prácticamente no existe para el navegador...

no hay datos en cache....
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".