Sesiones en cache

¿Cómo le hago para que en el momento en que se cierre la ventana del navegador se destruya la sesión aunque no se haya dado click en el botón cerrar sesión?

1 Respuesta

Respuesta
1
En el body de una página web existe un evento denominado "onClose". Usado de la siguiente forma...
<BODY onClose="window.open('cierra_sesion.phtml','CIERRE','');">
... cuando alguien cierre la ventana actual forzarás la apertura de otra que mantiene el ID de la sesión. Sólo tienes que hacer (en PHP, no se como se hace en ASP) un session_unregister.
He buscado en la web ayuda para el evento onClose, pero resulta que no existe este evento para el body. Solo esta el evento onUnLoad que probablemente funcione de manera similar. El problema es que funciona con un documento simple, pero yo lo quiero aplicar a una plantilla. ¿Podrías ayudarme de otra forma?
Perdón por haberte indicado el nombre incorrecto del método. Ciertamente es onUnload. El funcionamiento de unLoad es el que te describí, ahora bien, no entiendo eso de "aplicar a una plantilla". Cuando tu abres el index. Phtml, por ejemplo, y creas una cookie, o registras una sesión, el nombre de esa cookie o sesión queda declarado como una variable más para todos los documentos abiertos posteriormente (hasta el cierre definitivo del navegador). Si en index. phtml declaras $SESION, en cierra_sesion. Phtml, tal y como te indique, habrá declarada YA la variable $SESION, con el mismo valor que le asignaste ÚNICA Y EXCLUSIVAMENTE al cliente.
Si esto no te aclara, aclarame tu a mi más aun eso de "la plantilla" y podré ayudarte.
He hecho pruebas con este evento, (olvida lo de la plantilla).
onUnLoad="cierra()"
Cierra(): función de javascript
Mi duda es que no se si pueda hacer esto
onUnLoad="cierra_sesion.php" por que me marca un erro al momento de ejecutarlo.
Y si hago la función cierra() en javascript no se como incluir el código php que cierra y destruye la sesión (session_destroy();).
Oye ya encontré la respuesta correcta, tus ideas me ayudaron mucho, con un poco de investigación todo se puede lograr.
Quedo finalmente así:
onUnload="location.href='cerrar_sesion.php'"
Muchísimas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas