2011-08-16 49 views

回答

19

這不是一個錯誤,它是一個功能。會話cookie(即生命週期爲0的cookie)在瀏覽器會話結束時被丟棄 - 對於全屏Web應用程序,只要您離開Web應用程序,就會發生這種情況。如果你希望它們持續存在,只需將你的cookie生命週期設置爲大於默認值0(我使用1年)的東西。

現在你的問題可能是:我如何設置我的cookie的一生?假設你正在使用PHP中,一段代碼是:

$lifetime = 31536000; // one year 
setcookie($varName,$varValue,time()+$lifetime); 

如果你使用PHP會議上,你將不得不重寫cookie來添加有效期大於0:

setcookie(session_name(),session_id(),time()+$lifetime); 

正常情況下,您不應該重寫會話cookie以更改默認的生存期,因爲功能session_set_cookie_params應該可以讓您這樣做,但我發現情況並非總是如此。

+0

哇,非常感謝你!我已經研究了好幾天了!我甚至嘗試將會話ID保存在本地存儲中,並在應用程序再次啓動時將其發送回服務器,但這不起作用。再次感謝! –

+0

這是一種樂趣:) – KPM

+0

@KPM,但你不覺得它會導致嚴重的安全問題嗎? – nKognito