Ver Mensaje Individual
  #16 (permalink)  
Antiguo 22/01/2013, 14:21
art_rockerd
 
Fecha de Ingreso: agosto-2012
Ubicación: México
Mensajes: 106
Antigüedad: 11 años, 8 meses
Puntos: 6
Respuesta: Cierre de sesion por inactividad

Una pregunta, ese codigo asi,¿ lo que hace es destruir la sesion por inactividad en un tiempo definido? Por que no entiendo como PHP sabe que el usuario esta INACTIVO, mas bien pareciera que le asignas un tiempo de vida a la SESION, ya sea ACTIVO ó INACTIVO, alguien podria explicarme como funciona eso?, yo necesito deslogear al usuario y redirigirlo por INACTIVIDAD, y tengo este código, pero solo funciona cuando ya paso el tiempo que le definio y actualizo la pagina o le doy F5 para refrescarla, entonces me redirecciona y me deslogea...
Código PHP:
Ver original
  1. $fechaOld= $_SESSION["ultimoAcceso"];
  2.     $curDate = date("Y-n-j H:i:s");
  3.     $tiempo_transcurrido = (strtotime( $curDate)-strtotime($fechaOld));
  4.     if($tiempo_transcurrido>=15) { //comparamos el tiempo y verificamos si pasaron 15 minutos de inactivdad
  5.      session_unset();
  6.      session_destroy(); // destruimos la sesión
  7. //este solo me funciona cuando actualizo la pagina o le doy F5 para refrescarla
  8.      header("Location:index.html"); //enviamos al usuario a la página principal
  9.      
  10.     }else {       //sino, actualizo la fecha de la sesión
  11.     $_SESSION["ultimoAcceso"] =  $curDate;
  12.    }
la variable de sesion ultimoAcceso esta previamente definida en otro script...