2010-09-06 34 views
0

我使用下面的代碼來刪除cookie,一切正常。 幾天前,我開始在其他地方託管代碼,它不會再刪除cookie。移動代碼後刪除cookie不再有效

任何想法?

if($_COOKIE) 
{ 
    foreach($_COOKIE as $name => $value) 
    { 
      $params = session_get_cookie_params(); 

      unset($_COOKIE[$name]); 
      setcookie($name, '', time()-43200, $params['path']); 
      echo $name; 
      echo '<br/>'; 
      echo $params['path']; 
     } 
} 
+1

服務器上的時間是否正確? – bramp 2010-09-06 13:14:47

+0

兩臺服務器上的時間是相同的。 – John 2010-09-07 01:42:13

+1

哦,你正在使用setcookie和echo的組合。 Setcookie必須始終在任何輸出之前被調用。也許只有第一個被清除的cookie? – bramp 2010-09-07 10:47:21

回答

0

試一下這個沒有echo語句。

然後執行以下操作:

  1. 安裝Web Dev Toolbar for Firefox並重新啓動它
  2. 做你的步驟來設置cookie,然後查看使用Web開發工具欄,以確認它的網頁的Cookie是有
  3. 訪問刪除cookie的頁面,再次使用Web Dev Toolbar查看頁面的cookie - 它可能仍然存在。
  4. 最後訪問該網站上的另一頁,並檢查再次使用的Web開發工具欄
0

我試圖刪除cookie是我的Facebook連接的應用程序中的cookie。當您註銷FB Connect時,創建的cookie不會被刪除。 使用我所用的方法,如果在FB開發應用程序的網站部分回調URL中有一個WWW或者如果用戶訪問www.myapp.com

所以我不得不改變cookie將不會被刪除回調URL從http://www.myapp.com/http://myapp.com/ 然後,我必須在.htaccess文件中進行重寫,以確保用戶始終訪問http://myapp.com而不是WWW。

這看起來對我來說確實很挑剔,但它很有效。

*發佈了此更新標籤,以防其他人遇到同樣的問題。