这里的问题是我试图通过ajax登录我的系统。让我先解释一下。
当我的用户输入他的登录详细信息时,它将通过Ajax请求发送到服务器,然后一旦获得验证,我创建一个进入会话的条目并保存userid和logged_in标志等信息。
然后我通过Json将这些值返回给用户,该用户由一段javascript处理并将用户重定向到仪表板。
如果用户未经过身份验证,则会显示错误。
但现在发生的事情是。当我创建会话变量并将用户重定向到仪表板时。有时它不会创建会话变量,这就是为什么我不能显示注销按钮?
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您使用了基于CI后端构建的AJAX密集型网络应用程序,您可能已经注意到会话过期,即使您的到期时间设置为永不过期($ config ['sess_expiration'] = 0;应用/配置/ config.php中)
这显然是由于AJAX请求没有重新生成会话和明显的冲突。长话短说,上个月有一个补丁介绍没有大张旗鼓,这(到目前为止)似乎对我有用。
将system / libraries / Session.php文件替换为此处找到的文件(CI的git):