У меня проблема с сеансом в 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 секунд?
Вы можете добавить отметку времени последнего сеанса активности и сравнить ее с текущим временем. Вам нужно только при проверке правильности сеанса обновить временную метку, это также необходимо добавить при входе в систему.
$fechaGuardada = strtotime($_SESSION["ultimoacceso"]);
$now = time();
if(($now - $fechaGuardada) >= 10) {
// Loggout
}
else {
// Logged in
$_SESSION['ultimoacceso'] = $now;
}
Других решений пока нет …