как да излезете автоматично, ако потребителят е неактивен за определен период от време с помощта на 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: това не е моят код, а на kamal. Само редактирах отговора му - person Matt; 10.08.2017

person    schedule
comment
Той е копиран от: stackoverflow.com/questions/572938/ Ние не публикуваме отговори! - person Lior Elrom; 24.04.2013