2013-08-28 78 views
0

我在Windows 7 PC上使用xignpp的codeigniter。Codeigniter,xampp餅乾沒有設置

我想使用codeigniter內置的cookie,但我似乎無法讓我的cookies設置/保持。我知道Cookie代碼正在關閉,它實際上並沒有保存。

這裏的餅乾代碼:

$this->input->set_cookie('userID', $userID, time()+259200, 'http://localhost', '/'); 

運行在此之後並在每一頁上,我已經包括print_r($_COOKIE);看到任何/正在設置的所有Cookie,但沒有顯示出來。

有什麼我錯過了嗎?

回答

0

根據該文檔:

到期設置在幾秒鐘內,這將被添加到當前的時間 。不要包含時間,而只需要從現在開始您希望cookie有效的秒數 。如果到期時間爲 設置爲零,則只有在瀏覽器處於打開狀態時,Cookie纔會持續。

所以,你的代碼應該是這樣的:

$this->input->set_cookie('userID', $userID, 259200); 

此外,我建議你在配置文件中設置的域名和Cookie路徑。

+0

我想就像你說的做。我設置我的config.php文件中的跟進: '$配置[ 'cookie_domain'] \t = 「HTTP:// localhost」 的;'' $配置[ 'cookie_path'] \t \t = 「/」;' 並改爲'$ this-> input-> set_cookie('userID',$ userID,259200);'但它仍然沒有設置。 應該指出,我最初使用的方法已在其他領域爲我工作,它不會爲本地主機 – Eric

0

下面是運行到這個問題誰都解決方案:

Cookie不能在localhost創建,你需要使用http://127.0.0.1代替。

進入CI的應用程序/ config/config.php並更改對您可能具有的本地主機的任何引用,並將其更改爲http://127.0.0.1,並對cookie執行相同的操作。設置下列變量,以及:

$config['cookie_domain'] = "127.0.0.1"; 
$config['cookie_path']  = "/"; 

然後存儲的cookie:$this->input->set_cookie('userID', $userID, 259200);