Выход из системы при неактивности php

У меня проблема с сеансом в 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 секунд?


person Camaliet    schedule 31.01.2016    source источник
comment
См.: stackoverflow.com/questions/520237/   -  person Progrock    schedule 01.02.2016


Ответы (1)


Вы можете добавить временную метку последнего сеанса активности и сравнить ее с текущим временем. Вам просто нужно проверить действительную сессию, чтобы обновить метку времени, это также необходимо добавить при входе в систему.

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

if(($now - $fechaGuardada) >= 10) {
    // Loggout
}
else {
    // Logged in
    $_SESSION['ultimoacceso'] = $now;
}
person Community    schedule 31.01.2016
comment
здравствуйте, а у меня не получилось, условие всегда выполняется - person Camaliet; 01.02.2016
comment
Где вы определяете свою временную метку ultimoacceso? - person ; 01.02.2016
comment
Если это до этой проверки, то она всегда будет проходить - person ; 01.02.2016
comment
По протоколированию: $_SESSION[ultimoacceso]= date(Y-n-j H:i:s); - person Camaliet; 01.02.2016
comment
В какой части процесса? это до проверки, опубликованной в вашем вопросе? - person ; 01.02.2016
comment
плохо обновляю свой ответ, что отметка времени должна быть установлена ​​​​после проверки - person ; 01.02.2016