первый раз здесь, наконец, решил сделать учетную запись здесь после того, как я использовал слишком много часов своего рабочего дня, пытаясь решить эту проблему вчера.php autologout неактивные пользователи
поэтому у меня есть этот скрипт sessionCheck.php, который должен выйти из системы, если он неактивен, см. Код ниже. Прямо сейчас переменная $ inactive = 15; что должно означать, что если пользователь неактивен в течение 15 секунд, они должны быть выведены из системы и перенаправлены на страницу выхода. Однако по какой-то странной причине это всегда занимает 120 секунд, независимо от того, устанавливаю ли значение $ неактивным до 15 секунд, 1 секунду или 60 секунд, это всегда занимает 120 секунд. но если я установил переменную, чтобы сказать 130, она больше не выходит из системы и не перенаправляет, а только обновляет страницу.
Я не могу на всю жизнь понять, почему, поскольку это на самом деле не кажется логичным.
<?
session_start();
// set timeout period in seconds
$inactive = 15;
// check to see if $_SESSION['timeout'] is set
if(isset($_SESSION['timeout'])) {
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
{ session_destroy(); header("Location: login.php?loggut");
$db->Execute("UPDATE tblTimeLog SET LogoutTime = NOW() WHERE sid ='".session_id()."'".$row['konsulentid'].'');
}
}
$_SESSION['timeout'] = time(); ?>
Моя первая мысль была, что это должен быть какой-то другой сценарий, который отменяет или автоматически регистрирует пользователя из уже кто-то мешать этому сценарию, но если я запустить тестирование сайта без этого сценария не выход из системы на всех или.
Снова, первый раз, так жаль, если нарушите какие-либо рекомендации, я уверен, что я не сделал! вся помощь приветствуется!
Я не думаю, что это будет исправить вашу проблему, но это может быть частью этого. Действительно ли 'Локация: login.php? Loggut' правильно? Должно ли это быть? Logout? –
ах да, это правильно, предыдущий программист, который работал над этим, использовал странное сочетание норвежского и английского наименований. следовательно, «логгут»! –
Привет @ BalderKjøs, я выполнил ваш код с некоторыми незначительными изменениями, предложенными Фрэнки, и он отлично работает. Я думаю, что просто переименование имен переменных дает другое имя, потому что где-то $ inactive можно использовать, чтобы переименовать его, а затем проверить. – vijay