我正在使用codeigniter并拥有简单的用户登录设置。用户提交凭据,检查数据库是否有效,如果模型通过控制器传递会话ID并重定向到用户页面。如果数据不正确,则会将用户重定向到登录页面并显示错误消息。没什么好看的。问题是它在IE中不起作用。我不确定它是否是因为重定向或会话创建。适用于IE以外的所有浏览器。我在平行线上测试了8个窗口7,工作正常。奇怪的是它在Windows 7 IE 8的电脑上无法工作。有人能告诉我为什么每次用户登录时登录页面都会不断刷新吗?我被告知尝试添加此代码:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />
</head>
哪个什么都没做。我还将会话处理程序从ci_sessions更改为cisessions,它们也没有帮助(我在另一个论坛上看到过)。任何人都可以帮忙吗?!
答案 0 :(得分:2)
我在IE中使用CI Session时遇到了同样的问题。我在控制器构造函数中使用了下面的标题然后它现在适用于我:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
答案 1 :(得分:1)
您是否尝试过使用网址助手中包含的CI重定向方法来查看这是否适合您?
答案 2 :(得分:1)
我有类似的问题,其中ci会话在windows xp中不起作用,但在其他地方。所以我使用了Dariusz Debowczyk的Native Sessions库并修复了问题。好处是Darius在保持界面相同方面做得很好,所以你不必更改代码。您仍然可以使用$ this-&gt; session-&gt; userdata()和$ this-&gt; session-&gt; set_userdata()...等。您也可以使用flashdata。唯一的区别在于destroy函数而不是$ this-&gt; session-&gt; sess_destroy()他使用$ this-&gt; session-&gt; destroy()。