我正在创建一个帮助台系统,有时用户在不使用系统的情况下获得两个多小时的时间,然后在会话过期时返回,但上次加载的页面仍保留在屏幕上例如一个表单),用户可以正常使用它,但是当他提交表单时,他会被重定向到登录页面(没关系),但是用户会丢失输入的数据。 我想创建一个AJAX函数来检查会话是否过期。该功能应使用setTimeout()
或setInterval()
执行。 我试过使用"sess_expiration"
,但似乎这个值不会在页面加载时重置,即在结束指定的时间(默认为7200)之后它强制会话过期。检查Codeigniter会话是否已过期AJAX
2
A
回答
4
你可以像下面这样做
$.ajax({
type : 'POST',
url : '<?php echo site_url('controllername/methodname')?>'
success : function(data){
if(data){
//session available
}else{
// expired
}
});
和控制器的方法
function methodname(){
$user_id = $this->session->userdata('user_id');
if($user_id){
echo 1;
}else{
echo 0;
}
}
您可以在功能上包裹Ajax请求,并与TRUE或FALSE返回结果每次。而且setInterval可以调用这个函数来检查会话。
0
Codeigniter会话类有让我们知道会话过期的方法。
function your_method(){
$this->session->sess_read() === false ? echo "0" : echo "1";
}
+0
'sess_read'将返回** TRUE **用户是否登录。如果用户未登录,则$ this-> session-> userdata('userid')'将返回** FALSE **,如果他是,则返回id。 – Armfoot 2015-09-22 17:03:37
相关问题
- 1. 检查快速会话是否过期
- 2. laravel 5.1检查会话是否过期
- 3. 无法检查CGI会话是否已过期
- 4. php检查日期是否已过去
- 5. 如何检查日期是否已过
- 6. 检查Auth0 idToken是否已过期
- 7. 通过Ajax创建Laravel会话并检查它是否存在
- 8. CodeIgniter中的会话过期
- 9. 检查会话是否过期,然后重定向(Joomla)
- 10. 如何使用JavaScript检查会话是否过期
- 11. 检查FB Connect会话是否过期使用facebooker
- 12. 检查会话设置,codeigniter
- 13. 如何检查会话过期时用户闲置codeigniter
- 14. 在会话期间Cookie是否过期?
- 15. 如何检查全局会话是否存在。使用Codeigniter
- 16. 检查哪个用户会话已过期asp.net
- 17. Symfony 2 AJAX会话过期
- 18. 检查会话使用Ajax请求尚未过期
- 19. 我应该如何检查到期日是否已过期?
- 20. 连续检查的日期是否已经过期
- 21. 检查php会话由AJAX
- 22. 找出具有特定ID的会话是否已过期
- 23. 检查数组是否已经存在于会话中
- 24. 如何检查会话变量是否已设置?
- 25. 如何检查导轨会话是否已经加载?
- 26. 如何检查会话ID是否已存在于redis
- 27. 检查cookie是否已过期,如果是注销用户
- 28. PHP/AJAX检查会话变量是否变化
- 29. 检查是否PHP会话存在,或使用AJAX
- 30. 检测过期的会话
[另一个答案已经被后来几乎相同的代码,并在这里'setInterval'给出](http://stackoverflow.com/a/16829276/1326147)。 – Armfoot 2015-09-22 17:06:24