как автоматически выйти из системы, если пользователь неактивен в течение определенного времени, используя codeigniter

Если пользователь неактивен в течение определенного времени, он должен автоматически выйти из системы. Итак, как я могу сделать это с помощью codeigniter? ИЛИ как проверить, активен ли пользователь или нет после входа на этот сайт?


person nilesh    schedule 22.04.2013    source источник
comment
Вопрос показывает отсутствие исследовательской работы. Пожалуйста, покажите свою работу.   -  person Dogoferis    schedule 22.04.2013
comment
Прочитайте документацию CI для чтения.. :) ellislab.com/codeigniter/user- guide/libraries/sessions.html $this-›session-›sess_destroy();   -  person Svetoslav    schedule 22.04.2013
comment
будьте осторожны, чтобы не реализовать на странице ввода данных, где пользователю может потребоваться некоторое время для ввода данных в течение некоторого времени, например. 30 минут (в моем случае)   -  person 4 Leave Cover    schedule 21.12.2016


Ответы (3)


Вы можете сэкономить время, которое ваш пользователь вошел в систему в session или cookie

Пример: $this->session->set_userdata('time', time()); и используйте функцию javascriptjQuery (Exp. $.getJSON('time.php', function (data) {alert(data.serverTime);});) или что-то еще, чтобы проверить текущее время. Затем выйдите из системы, когда это необходимо.

Однако в следующий раз, пожалуйста, разместите код или что-то еще, что покажет ваши усилия.

person Lior Elrom    schedule 22.04.2013

<?php 
    $minutes=3;//Set logout time in minutes    
    if (!isset($_SESSION['time'])) {
        $_SESSION['time'] = time();
    } else if (time() – $_SESSION['time'] > $minutes*60) {
        session_destroy();
        header(‘location:login.php’);//redirect user to a login page or any page to which we want to redirect.
    }
?>

... который был первоначально взят с skillrow.com/log-out-user-if-user-is-inactive-for-certain-time-php/ (теперь 404).

person kamal    schedule 28.05.2014
comment
@Matt: в соответствии с вашим кодом пользователь выйдет из системы через x минут, в данном случае через 3 минуты, даже если пользователь активен. Вот мое модифицированное решение: $minutes = 3; if(isset($_SESSION['time']) && (time()-$_SESSION['time'] › $minutes*60)){ header('location:'. 'logout_url.php'); умри(); } // установить время, если пусто и пользователь вошел в систему if($userLoggedIn){ $_SESSION['time'] = time(); } - person shairya; 10.08.2017
comment
@shairya: это не мой код, это код Камала. Я только отредактировал его ответ - person Matt; 10.08.2017

person    schedule
comment
Он был скопирован из заголовка stackoverflow.com/questions/572938/ Мы не должны публиковать ответы! - person Lior Elrom; 24.04.2013