Cerrar la $_session

Iniciado por yoelrodguez, 11 Octubre 2016, 17:49 PM

0 Miembros y 1 Visitante están viendo este tema.

yoelrodguez

Hola todos, tengo el siguiente problema. Quiero que en el momento de cerrar el navegador se me destruya la  $_session. Sin utilizar el botón de salir. Estoy usando las variables globales de php no los cookie.

Saludos 

engel lex

puedes hacerlo con cookies... que la cookie se destruya al cerrar...

solo con php no es tan simple... el navegador no indica al server cuando se cierra... tendrías que usar un proceso cron de fondo que revise las sessiones que llevan más de x minutos sin actividad y las cierres, aunque en general, con guardar un valor de tiempo y comparar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

yoelrodguez

OK ahora existe alguna forma que yo pueda hacerlo con jquery en el momento de cerrar el navegador. He buscado en internet pero no he encontrado nada.

Saludos

engel lex

el navegador no envía señal de cierre y no va a esperar que un script se ejecute para cerrarse... en tal caso podrías usar el jquery para actualize la sesion, de tal forma que un proceso de cron la cierre despues de un par de minutos sin actividad (atencion!, esto aplicará cuando cierre la pestaña, no navegador)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

d91

prueba con este script:
Código (php) [Seleccionar]

<html>
<head>
<title>Prueba de abandono de página</title>
<script language="javascript" type="text/javascript">
     
    var bPreguntar = true;
     
    window.onbeforeunload = preguntarAntesDeSalir;
     
    function preguntarAntesDeSalir()
    {
      if (bPreguntar)
        return "¿Seguro que quieres salir?";
    }
</script>
</head>
<body>
<h1>Ejemplo de abandono de página</h1>
<p>Por defecto preguntará hasta que pulses el botón de "No preguntar"</p>
<input type="button" value="Preguntar" onclick="bPreguntar = true;" >
&nbsp;&nbsp;
<input type="button" value="No preguntar" onclick="bPreguntar = false;" >
<br/><br/>
<a href="index.php">Ir a otra página</a>
</body>
</html>


es solo una idea

[u]nsigned

La session ($_SESSION) se destruye automáticamente cuando se cierra el navegador. Al menos esa es la configuracion por defecto, deberias revisar tu php.ini o agregar en tu scripts:

Código (php) [Seleccionar]
ini_set('session.cookie-lifetime', 0);

http://php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!