我使用此代碼設置cookie,然後看看他們是否存在
setcookie("token", "value", time()+60*60*24*100, "/");
setcookie("secret", "value", time()+60*60*24*100, "/");
setcookie("key", "value", time()+60*60*24*100, "/");
if (!isset($_COOKIE['token']) || !isset($_COOKIE['secret']) || !isset($_COOKIE['key'])) {
// do something because one of the cookies were not set
}
雖然餅乾的所有三個在我的瀏覽器設定,它仍然運行if()
聲明。通過消除過程,我發現中間cookie !isset($_COOKIE['secret'])
似乎會導致if()
語句運行,即使在我的瀏覽器中設置了Cookie secret
。腳本說,當我看着我的瀏覽器並且它已被設置時,它沒有被設置。你能想出任何理由爲什麼PHP說它沒有設置?
你的代碼適合我。該塊在第一次訪問時被執行,因爲$ _COOKIE沒有被setCookie中的值填充。在進一步調用時,該塊不再執行。你有沒有機會安裝cookie攔截器? – Basti 2012-02-23 14:53:49
你用什麼工具來判斷這個cookie是否存在?螢火蟲?看起來很奇怪...... – 2012-02-23 14:54:54