2012-07-20 133 views
1

我正在把我的頭髮拉出來。它適用於Chrome和Firefox,但不適用於Safari。我究竟做錯了什麼?safari cookie問題

我正在設置一個臨時cookie,然後檢查它是否設置。當我清除safari中的所有cookie時,然後運行此文件,它認爲cookie仍然存在。

這裏是代碼

setcookie("testcookie", 'cookiesetting temporary'); 
if(isset($_COOKIE['testcookie'])){ 
    echo "cookie set": 
}else{ 
    echo "no cookie set"; 
} 

在只野生動物園,禁用cookie和刪除所有cookie後,當我運行上面的代碼,它仍然呼應的cookie集。

爲了確保,我還查看了資源下safari中的開發工具,並且在那裏我看不到cookie。

我在這裏錯過了什麼?

+0

如果你想知道,如果Cookie是由您的瀏覽器發送,檢查請求頭。除非您沒有驗證您的Safari不再發送cookie,否則我會相信PHP會說cookie在那裏。這很簡單。當你調試時,在正確的地方進行調試。瞭解事實,而不是環顧四周(環顧四周可以說前5分鐘,但不再延長),然後直接找出事實,即使您需要首先了解整個HTTP標準,無論如何,這是值得的。 ) – hakre 2012-07-21 11:10:24

回答

1

我和Safari有同樣的問題(無法取消cookie設置)。 您應該解決設置路徑

setcookie('testcookie', 'cookiesetting temporary', time()+3600, '/path/'); // set 
setcookie('testcookie', '', time()-3600, '/path/'); // delete 

希望這個作品;)

+0

我去了js路線! – Autolycus 2012-07-24 19:52:38

0

只是清除它們的客戶端不是測試這個正確的方法..你有沒有嘗試實際「unsetting」cookie的服務器端?

+0

試過這個setcookie(「testcookie」,'cookiesetting temporary',time() - 3600);仍然沒有去 – Autolycus 2012-07-20 21:17:42