简体   繁体   中英

As inactivity logout php

I have a problem with the session in php as I assign a variable inactivity condition to the closing session?

I have this code:

$fechaGuardada = $_SESSION["ultimoacceso"]; 
    $ahora = date("Y-n-j H:i:s"); 
    $tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada)); 

    //comparamos el tiempo transcurrido 
     if($tiempo_transcurrido >= 10) { 
       //si pasaron 10 segundos o más 
        session_destroy(); // destruyo la sesión 
        header("Location: index.php"); //envío al usuario a la pag. de autenticación 
        //sino, actualizo la fecha de la sesión 
      }

The problem here is that you log in at given time, in this case it's 10 seconds.

How do I get the condition to run after an inactivity for 10 seconds?

You could add a last activity session timestamp and compare that to the time now. You just need to on a valid session check update the timestamp, this also needs to be added on login.

$fechaGuardada = strtotime($_SESSION["ultimoacceso"]); 
$now = time();

if(($now - $fechaGuardada) >= 10) {
    // Loggout
}
else {
    // Logged in
    $_SESSION['ultimoacceso'] = $now;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM