Если пользователь неактивен в течение определенного времени, он должен автоматически выйти из системы. Итак, как я могу сделать это с помощью codeigniter? ИЛИ как проверить, активен ли пользователь или нет после входа на этот сайт?
как автоматически выйти из системы, если пользователь неактивен в течение определенного времени, используя codeigniter
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
@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
@shairya: это не мой код, это код Камала. Я только отредактировал его ответ
- person Matt; 10.08.2017
person
schedule
Он был скопирован из заголовка stackoverflow.com/questions/572938/ Мы не должны публиковать ответы!
- person Lior Elrom; 24.04.2013