Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php codeigniter ajax如何不自动注销用户_Php_Ajax_Codeigniter 2_Session Cookies - Fatal编程技术网

Php codeigniter 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:意外标记

我正在使用CodeIgniter开发一个网站,因为管理区使用AJAX请求与服务器通信。用户可能正在处理不需要AJAX请求的内容,因此在非AJAX工作一段时间后,当用户尝试使用AJAX发送内容时,会导致如下错误:

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正常情况下可以,但我仍然会注销。不要偷懒,在语句中使用括号。