2010-12-22 88 views
2

我正在使用codeigniter并有一个简单的用户登录设置。用户提交他们的凭证,检查数据库是否有效,如果他们是模型将控制器的会话ID传递并重定向到用户页面。如果数据不正确,用户将被重定向到登录页面并显示错误消息。这里没什么特别的。问题是它不适用于IE。我不确定是因为重定向还是会话创建。除IE以外的所有浏览器都可以正常工作。我测试了8与Windows 7在平行并且工作正常。奇怪的是,它不适用于Windows 7 IE 8的电脑上。有人可以告诉我为什么登录页面每次用户登录时都会刷新。有人告诉我尝试添加以下代码:Codeigniter创建会话和重定向在IE中不工作

<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

供参考:更多有价值的帮助可以通过提供相关的会话的所有配置线,并且不会话创建的代码来获得/重定向。 – treeface 2010-12-22 17:19:47

回答

1

我这里Ci会议没有在Windows XP中工作,但在其他地方类似的问题。所以我使用了Dariusz Debowczyk的Native Sessions库,它解决了这些问题。好的是Darius在保持界面相同方面做得很好,所以你不必更改你的代码。你仍然可以使用$ this-> session-> userdata()和$ this-> session-> set_userdata()等等。你也可以使用flashdata。唯一的区别是在destroy函数中,而不是$ this-> session-> sess_destroy(),他使用$ this-> session-> destroy()。

http://codeigniter.com/wiki/Native_session/

2

我而在IE使用CI会话有同样的问题。我用下面的标题中的控制器构造然后和它现在的工作对我来说:

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');