Foros del Web » Programando para Internet » PHP »

como hacer para cerrar una sesion cuando avandona la pagina

Estas en el tema de como hacer para cerrar una sesion cuando avandona la pagina en el foro de PHP en Foros del Web. buno la pregunta mas que obvia me gustaria saber como hago para que alguien do salga de pagina se sierre su sesion, por ejemplo cuando ...
  #1 (permalink)  
Antiguo 27/07/2004, 13:56
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 11 meses
Puntos: 53
como hacer para cerrar una sesion cuando avandona la pagina

buno la pregunta mas que obvia me gustaria saber como hago para que alguien do salga de pagina se sierre su sesion, por ejemplo cuando ya no este en el home.php, en ese momento sierre su sesion..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #2 (permalink)  
Antiguo 27/07/2004, 14:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Seguro que ya conoceras que haciendo un "session_destroy()" "matas" la sesión en curso. Esa es una funció que has de "invocar" a mano: en link que apunte a tu script de "mata_sesion" o similar.

Algunas soluciones se basan en usar eventos de javascript tipo "onUnload()" para llamar a ese "mata_sesion.php" script PHP .. pero eso depende enteramente del "cliente" (navegador) y sobre todo de que "salga" de su sesión por un script tuyo que haga salida al navegador (HTML -> javacript) .. por qué si lo hace en un script de proceso PHP que no devuelve ninguna salida al navegador .. ya no funcionaría este método.

Otro método vía PHP .. algo más seguro sería controla "la conexión" de PHP al cliente con las funciones tipo:

http://www.php.net/manual/en/feature...n-handling.php

Tal vez por ahí se pueda hacer algo para detectar cuando el cliente cierra la conexión .. Pero todo eso se refiere a -mientras está ejecutandose PHP- .. es decir, cuando PHP ya entrega su resultado (página HTML .. etc) ya no tienen nada que hacer dichas funciones.

Lo ideal es que sepas bien como estás propagando el SID .. por qué si lo haces por cookies por ejemplo ajustando el valor de expiración de estas (a cero).. ya conseguiras el efecto de que si cierra toda ventana de tu sitio . .se perderá el SID. En última instancia el tiempo de expiración de Un SID válido lo determina la directiva (php.ini):
session.gc_maxlifetime

Pero esto va en conjunto con el método de propagación del SID .

Un saludo,
  #3 (permalink)  
Antiguo 27/07/2004, 15:23
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 11 meses
Puntos: 53
ok gracias..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:12.