簡體   English   中英

CodeIgniter Cookies工作於FF,但不適用於Chrome或IE

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM