1

当我为关闭会话分配变量不活动条件时,我在 php 中的会话有问题?

我有这个代码:

$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 
      }

这里的问题是您在给定时间登录,在这种情况下是 10 秒。

如何让条件在不活动 10 秒后运行?

4

1 回答 1

0

您可以添加最后一个活动会话时间戳并将其与现在的时间进行比较。您只需要在有效的会话检查中更新时间戳,这也需要在登录时添加。

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

if(($now - $fechaGuardada) >= 10) {
    // Loggout
}
else {
    // Logged in
    $_SESSION['ultimoacceso'] = $now;
}
于 2016-01-31T23:40:40.520 回答