Я хотел бы проверить, есть ли у пользователя idle for more than 5 minutes
, они будут be redirected to login page
. Я не знаю, как это сделать. gimme решение. i код с codeigniter.Как проверить, что сеанс истек, когда пользователь не работает codeigniter
ответ
Это можно сделать с помощью комбинации/JavaScript/Ajax и JQuery функции CodeIgniter.
JS
<script type="text/javascript">
var currentSessionValue = 1;
// pseudo code
setTimeout(checkSession, 5000);
function checkSession() {
$.ajax({
url: "CheckSession/check_session", //Change this URL as per your settings
success: function(newVal) {
if (newVal != currentSessionValue);
currentSessionValue = newVal;
alert('Session expired.');
window.location = 'Your redirect login URL goes here.';
}
});
}
</script>
Codeigniter
class CheckSession extends Controller{
public function __construct(){
session_start();
}
public function check_session(){
//Below last_visited should be updated everytime a page is accessed.
$lastVisitTime = $this->session->userdata("last_visited");
$fiveMinutesBefore = date("YmdHi", "-5 minutes");
echo date("YmdHi", strtotime($lastVisitTime)) > $fiveMinutesBefore > 1 : 0;
}
}
Просто сохраните временную метку last_visited
в качестве переменной сеанса. В следующий раз, когда пользователь посещает, проверьте разницу в текущей временной отметке с той, которая находится в сеансе. Если это более 5 минут, выйдите из системы.
$this->load->library('session');
$this->session->set_userdata(array(
'last_visited' => time()
));
на каждую функцию я должен проверить? –
Возможно, вы так написали 'class xxxx extends MY_Controller {}' .. Итак, в MY_Controller.php укажите этот логин в __construct в 'MY_Controller'. Он будет автоматически вызван для всех действий. – kawadhiya21
спасибо, я совмещаю ваш ответ с ответом выше, и он работает! –
проверить сеанс истечения срока действия, просто попробуйте прочитать переменную я хранится на входе
Я поместил это в My_Controller
в папке application/core
, и на этом основании распространите все остальные мои контроллеры.
в классе, у меня есть эта функция
function _is_logged_in()
{
return !empty($this->session->userdata('user_id'));
}
в моем классе, в __construct
я это сделать
if (!$this->_is_logged_in()) {
$this->_log_out("Session Expired", base_url("login"));
}
поэтому, когда я сделать запрос, если сессия истекла, его перенаправляет на логин, нет необходимости проверять каждые 5 минут.
- 1. Как проверить каждый раз, если пользователь сеанс истек в JavaScript
- 2. Как проверить, что пользователь вышел из Facebook или токен истек
- 3. Как обновить таблицу базы данных, когда сеанс истек в кодеигниторе
- 4. сеанс не работает в codeigniter
- 5. Сеанс Codeigniter не работает. Таблетка
- 6. Как найти, если сеанс Oracle APEX истек
- 7. codeigniter сеанс умирает, когда он не должен
- 8. CodeIgniter: сеанс не работает в Google Chrome
- 9. Как проверить, только что пользователь начал новый сеанс?
- 10. Как проверить, использует ли пользователь/сеанс пакет?
- 11. Идентификатор загрузчика Codeigniter истек
- 12. Как работает сеанс, когда пользователь покупает продукт в магазине
- 13. Как определить, что сеанс истек или нет в node.js
- 14. После того, как сеанс запроса Ajax истек в php
- 15. как изменить сеанс истек Эльг 1.11
- 16. Проверить, что пользователь уже зарегистрировался или сеанс запущен в jsp
- 17. Обнаруживать, если сеанс истек с использованием javascript
- 18. как сделать сеанс более длительным в codeigniter
- 19. Как проверить сеанс сброса
- 20. Проверьте текущий сеанс истек в ASIHTTPREQUEST
- 21. Выбрасывание исключения, когда пользовательский сеанс истек или возвращающий нуль
- 22. Фильтр проверки сеанса, который отключается от пользователя, когда сеанс истек.
- 23. Как проверить, истек ли токен
- 24. Magento - сеанс истек. Попробуйте relogin
- 25. Сессия Codeigniter истек в короткий период автоматически
- 26. Сеанс Codeigniter не работает с длинным массивом
- 27. Как узнать, что разрушает сеанс Codeigniter
- 28. Swift: Как проверить, что токен доступа к Facebook истек?
- 29. Проверить сеанс с точки зрения в CodeIgniter
- 30. Сеанс Codeigniter не сохраняет данные
где $ this-> session-> userdata ('is_logged_in'); родом из? u havent установить его. –
Я отредактировал эту страницу, чтобы получить более подробную информацию о is_logged_in index. – Rahi
Я совмещаю ваш ответ со вторым ответом, он работает! Спасибо. –