顯示廣告
隱藏 ✕
看板 Knuckles_note
作者 Knuckles (站長 那克斯)
標題 [PHP] setcookie
時間 2013年07月02日 Tue. PM 09:20:51


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

setcookie( $name, $value, $expire_time, $path );

例如

setcookie("user", "john", time()+3600, "/" );

之後再使用

echo $_COOKIE['user'];

就會顯示 john


其中 $expire_time 未設定或設為0時,代表瀏覽器關閉時 cookie 即失效

$path 未設定時,預設為目前檔案的目錄
之後這個 cookie 只有這個目錄和其子目錄下的檔案可以讀取
設成 "/" 讓這個 domain 下的檔案都能讀取


要移除一個 cookie ,將值設為 "" 即可,例如

setcookie("user", "", time()-3600 );

其中 expire_time 設為過去一小時比較保險


若有移除不了的 cookie 應該是 $path 在不同目錄的關係
再加上指定的 $path 就可以移除了

或是用以下程式可確保清除domain下的所有cookie

// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
    foreach($cookies as $cookie) {
        $parts = explode('=', $cookie);
        $name = trim($parts[0]);
        setcookie($name, '', time()-1000);
        setcookie($name, '', time()-1000, '/');
    }
}

參考: http://www.php.net/manual/en/function.setcookie.php#73484


--
※ 作者: Knuckles 時間: 2013-07-02 21:20:51
※ 編輯: Knuckles 時間: 2013-07-10 12:32:50
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 454 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇