2012-05-17 69 views
0

我正在使用codeigniter,並在我的庫文件中存儲的Cookie可以在瀏覽器打開時正常工作,但在關閉瀏覽器時過期則代碼中出現任何錯誤?當瀏覽器關閉時Cookie自動銷燬

 $this->CI =& get_instance(); 
     $this->CI->load->helper('cookie'); 
     $expire = time()+(60*60*24*30); 
     $cookie = array(
         'name' => 'username', 
         'value' => $users['username'], 
         'expire' => $expire 
        ); 
     $this->CI->input->set_cookie($cookie); 
     $cookie = array(
         'name' => 'password', 
         'value' => $users['password'], 
         'expire' => $expire 
        ); 
     $this->CI->input->set_cookie($cookie); 
+0

以及load-> helper('cookie')的情況。 –

+0

@ArthurHalma餅乾助手是輸入的一個別名 – Adam

+0

@ArthurHalma:是的加 – Suleman

回答

4

問題是你要發送的到期時間......這是來自help page here

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

所以你的代碼改成這樣:

$expire = (60*60*24*30); 

設置cookie從現在

到期30天(雖然設置它像你這樣或許應該工作過 - 但到期會提前幾年...幫助文件還顯示了以字符串形式給出的過期時間 - 也許這就是問題所在)

+0

+1 - 工作完美(Y),但對不起,我不能標記它是因爲時間流逝。 – Suleman