Php codeigniter ajax如何不自动注销用户
我正在使用CodeIgniter开发一个网站,因为管理区使用AJAX请求与服务器通信。用户可能正在处理不需要AJAX请求的内容,因此在非AJAX工作一段时间后,当用户尝试使用AJAX发送内容时,会导致如下错误:Php codeigniter ajax如何不自动注销用户,php,ajax,codeigniter-2,session-cookies,Php,Ajax,Codeigniter 2,Session Cookies,我正在使用CodeIgniter开发一个网站,因为管理区使用AJAX请求与服务器通信。用户可能正在处理不需要AJAX请求的内容,因此在非AJAX工作一段时间后,当用户尝试使用AJAX发送内容时,会导致如下错误: if(!isset($_SESSION['username'])){ redirect('login'); } SyntaxError:意外标记
if(!isset($_SESSION['username'])){
redirect('login');
}
SyntaxError:意外标记<
我检查用户是否登录到服务器,如下所示:
if(!isset($_SESSION['username'])){
redirect('login');
}
我只使用$\u会话,不使用cookies。我是否必须使用cookies或实现一些JavaScript功能,在用户空闲时ping服务器以保持其活动状态,或者两者兼而有之?
提前感谢。只需在配置文件中更改会话过期变量:
$config['sess_cookie_name'] = 'yoursite';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
将sess_expiration设置为您满意的足够长的时间我没有实现此错误的解决方案,但是,对于这个问题,最终也是一样的,一个好的解决方案是使用插件,我希望这对任何人都有帮助。在配置文件中关于会话的评论部分有这样的内容:
“sess\u expiration”=您希望会话持续的秒数。默认情况下,会话持续7200秒(两小时)。设置为零表示无过期。
因此我将会话设置为$config['sess\u expiration']=0代码>正常情况下可以,但我仍然会注销。不要偷懒,在语句中使用括号。