Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/08/2011, 07:10
Avatar de jotaincubus
jotaincubus
 
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: capturar cuando una sesión "muere"

Existen varias formas de hacerlo, una de ellas es cambiar el valor en tiempo de ejecución, osea colocar el código directamente en la paginas sin tocar el PHP.INI y ese código solo sera aplicado a la sesión que ha sido creada y no a todas las que se creen en la aplicación.

EN EL ARCHIVO PHP.INI debes buscar la linea que tienes que buscar el campo que se llama session.gc_maxlifetime y cambiarle el valor (en segundos).

Otra forma puede ser establecer la duración en las cookies.
Puedes controlar el tiempo de una sesion poniendo esta linea ini_set("session.cookie_lifetime","36000"); pero tiene que ser la primera linea que aparezca, incluso antes de iniciar la sesion

Código PHP:
Ver original
  1. <?php
  2. ini_set("session.cookie_lifetime","36000");
  3. $_SESSION["ejemplo"]="invitado";
  4. ?>

Si ya quieres hacer cosas más elaboradas, puedes hacer que si ha pasado un tiempo determinado (una hora o lo que quieras) destruya la sesion.

Código PHP:
Ver original
  1. <?php
  2. ini_set("session.cookie_lifetime","36000");
  3. $_SESSION["time"] = time();
  4. if (time() - $_SESSION["time"] < 3600)  {
  5. echo 'no ha pasado una hora';
  6. }else{
  7. echo 'ha pasado mas de una hora';
  8. }
  9. ?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???