2016-09-19 465 views
1

理想的情況下,刪除在PHP中的cookie,應該設置完全相同的參數創建cookie時,除了值和到期時間:php:如何正確刪除所有cookie?

創建的cookie:

setcookie('cookie1', 'value1', time()+10000, '/', 'domain.com', false, true); 

刪除Cookie:

setcookie('cookie1', '', time()-10000, '/', 'domain.com', false, true); 

但是,我要如何獲取創建cookie時要刪除的參數?假設我沒有跟蹤這些參數,可以例如,餅乾與一些第三方庫

是創建的,所以方法刪除:

setcookie($name, '', time() - 1000, "/"); 
setcookie($name, '', time() - 1000); 

但它是「理想的」正確的做法?所有的瀏覽器(包括舊的)都支持這個嗎?

什麼辦法,什麼是正確刪除確保所有Cookie對於所有瀏覽器

如何設置完全一樣的PARAMS刪除的cookie(如果我沒有跟蹤的cookie創建)的方法?

+0

「如果我不跟蹤的cookie創建」 – nogad

+0

@nogad,沒讓你 – Teimuraz

+0

@nogad他知道什麼參數,使用他在他的代碼創建的cookie ,但如果cookie是由第三方庫創建的,他不知道使用了什麼參數。 – Barmar

回答

0
if (isset($_SERVER['HTTP_COOKIE'])) {//do we have any 
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);//get all cookies 
    foreach($cookies as $cookie) {//loop 
     $parts = explode('=', $cookie);//get the bits we need 
     $name = trim($parts[0]); 
     setcookie($name, '', time()-1000);//kill it 
     setcookie($name, '', time()-1000, '/');//kill it more 
    } 
} 
從Notes

http://php.net/manual/en/function.setcookie.php