Php CodeignitEr会话不使用AJAX

Php CodeignitEr会话不使用AJAX,php,ajax,codeigniter,session,Php,Ajax,Codeigniter,Session,这里的问题是我试图通过ajax登录到我的系统。让我先给你解释一下 当我的用户输入他的登录详细信息时,它将通过Ajax请求发送到服务器,然后在验证后,我创建一个会话条目,并保存用户ID和登录标志等信息 然后我通过Json将这些值返回给用户,该值由一段javascript处理,并将用户重定向到仪表板 如果用户未经身份验证,则显示错误 但现在这里发生的是。当我创建会话变量时以及当用户重定向到仪表板时。有时它不会创建会话变量,这就是为什么我不能显示注销按钮 任何帮助都将不胜感激。如果您使用了基于CI后端

这里的问题是我试图通过ajax登录到我的系统。让我先给你解释一下

当我的用户输入他的登录详细信息时,它将通过Ajax请求发送到服务器,然后在验证后,我创建一个会话条目,并保存用户ID和登录标志等信息

然后我通过Json将这些值返回给用户,该值由一段javascript处理,并将用户重定向到仪表板

如果用户未经身份验证,则显示错误

但现在这里发生的是。当我创建会话变量时以及当用户重定向到仪表板时。有时它不会创建会话变量,这就是为什么我不能显示注销按钮


任何帮助都将不胜感激。

如果您使用了基于CI后端构建的AJAX密集型web应用程序,您可能会注意到会话过早过期,即使您的过期设置为永不过期$config['sess_expiration']=0;在application/config/config.php中

这显然是由于AJAX请求没有重新生成会话,以及明显的冲突。长话短说,上个月推出了一个补丁,但没有大张旗鼓,到目前为止似乎对我有效

将您的system/libraries/Session.php文件替换为CI的git: