Cerrar sesión php

Quisiera que me ayudaras con la siguiente pregunta. ¿Cómo hago para cerrar un sesión php cuando el usuario cierra el browser desde la por o cruz que tienen los navegadores por defecto?. Tengo un script para cerrar la sesión que se invoca cuando el usuario hace click en un enlace que tengo en mi aplicación que se llama "salir". ¿Pero en caso de que el usuario cierre por la por o cruz como hago para cerrar la sesión correctamente?

3 Respuestas

Respuesta
1
Tienes que usar JavaScript, ya que es en el ordenador del usuario en el que se produce la acción. Usa onUnLoad para saber cuando se cierra la ventana.
Puedes usar un código parecido al siguiente:
Cualquier página
<html><head><title></title></head>
<body onUnLoad="open('cerrarSesion.php');">
</body></html>
CERRARSESION.PHP
<?php
//código php
?>
<html>
<body onLoad='window.close();'>
</body></html>
Respuesta
1
Solo tienes que utilizar el evento "onUnload" del tag BODY. Desde ahí invoca el script que usas para cerrar la sesión.
Te recomiendo que hagas una función javascript que abra un popup pequeñito donde ejecutes el script que ya tienes.
Respuesta
1
No te preocupes porque cuando se cierra la ventana el servidor termina la sesión después de un por tiempo.
Y cuando se trabaja con otra ventana, la sesión es otra, por lo que el usuario no estaría logueado.
De todos modos hay un evento
Que ejecuta un script cuando se cierra la ventana y ahí podría mandar a una página que cierre la sesión. (El problema es que lo ejecuta cada vez que el usuario abandona la página, que puede ser cuando hace click en un enlace)
<html>
<head>
    <title>Abre al salir</title>
    <script>
    function abreventana(){
       window.open("http://www.google.es","venta","")
    }
    </script>
</head>
<body onunload="abreventana()">
<a href="http://www.desarrolloweb.com">DW!!</a>
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas