1
好吧,我有一個,我已經使用了多年,突然就停止工作代碼,我不知道如何解決餅乾在PHP沒有更新
首先我登錄和這些Cookie設置
setcookie ("memid", $login->id, strtotime("+1 day"), "/");
setcookie ("package", $login->package, strtotime("+1 day"), "/");
setcookie ("website", $login->domain, strtotime("+1 day"), "/");
setcookie ("type", 'main', strtotime("+1 day"), "/");
setcookie ("category", $login->category, strtotime("+1 day"), "/");
現在這工作得很好,當我改變什麼,我更新的值
setcookie ("website", $_GET['website'], strtotime("+1 day"), "/");
setcookie ("type", $_GET['type'], strtotime("+1 day"), "/");
現在,而不是更新以前的cookie值,它會創建具有相同名稱的新值的新Cookie。我假設第一個Cookie集仍然被讀取,因爲我的應用程序中沒有任何更改。
即使我註銷腳本,我過期餅乾停止工作
setcookie('memid', '', time()-1000,"/");
setcookie ("package", '', time()-1000,"/");
setcookie ("website", '', time()-1000,"/");
setcookie ("type", '', time()-1000,"/");
setcookie ("account", '', time()-1000,"/");
setcookie ("permissions", '', time()-1000,"/");
setcookie ("category", '', time()-1000,"/");
任何想法?
你在哪裏使用這些命令?如何設置它們似乎沒有任何問題,但它們在何處使用可能會導致大量其他問題。您知道在下次重新加載頁面之前,您無法訪問cookie的值,是的(希望)? – animuson 2011-03-10 21:43:41
是的,這就是爲什麼我如此難倒...這是基本的東西在這裏..每次我設置這些我重定向到使用前的頁面......奇怪的是他們工作得很好,直到昨晚...相同的代碼這已經工作了近兩年。沒有改變。 – ThinkNewDev 2011-03-10 21:45:50
設置相對於服務器時鐘的cookie過期時間可能是危險的 - 它假定服務器和客戶端的時鐘相對同步。最好設定一個絕對時間,比如'1'。如果用戶的時鐘仍然在1970年,他們應該得到任何痛苦。 – 2011-03-10 21:46:47