2010-12-22 86 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"');