[英]CodeIgniter Cookies Working In FF, But Not Chrome Or IE
我已經在CI中建立了一個站點,並擁有一個登錄系統,該系統在Firefox中可以正常運行,但在Chrome或IE中則不能。 在這兩個中,如果用戶名和密碼正確,它只是重定向(我認為)回到登錄頁面,而不是重定向到登錄錯誤頁面,或者重定向到站點主頁(應如此)。 我注意到,它似乎沒有在Chrome中設置cookie,但在FF中卻設置了cookie。
這是控制器中的代碼,該代碼設置cookie並在身份驗證后重定向:
$newdata = array(
'username' => $_POST['login_username'],
'real_name' => $name,
'user_id' => $uid,
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
//echo $newdata;
redirect('/site/index');
任何想法為什么會發生這種情況?
謝謝
檢查$ _SESSION是否已設置。 在CI上,您可能需要正常退出以將$ this-session中的內容刷新到“ real”會話變量中。
添加一個echo serialize($ _ SESSION),以便知道發生了什么(在redir之前)。
並檢查如何正常終止Ci請求。
我也遇到了這個問題...會話用戶數據對於Chrome和IE丟失了,但是在Firefox上還可以。 這是由於config / config.php中的設置不正確
我必須顯式設置cookie_domain
以使其在將來變得自動,我使用了此命令...剝奪了CI論壇。
$config['cookie_domain'] = str_replace("http:/","",str_replace("https://","", $config['base_url']));
我添加了這一行,一切正常。
就我而言,問題是$config['base_url']
為空。 所以我將其設置為我的域
$config['base_url'] = 'http://yourdomain.com/';
對我來說,它解決了問題,只是增加了cookie的時間,我有了3600,所以我改成了7200。似乎在生產站點上的時間有問題。 可以幫助某人。
調整cookie名稱可以解決CI配置中的問題,以消除下划線會帶來奇跡。 IE中的CodeIgniter會話問題一文很好地解釋了細節。
如果Cookie的指定域是localhost
,則CodeIgniter會出現一些問題,我已將具有真實域名稱結構的假域設置到hosts文件中,並且該域有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.