首頁 >後端開發 >php教程 >php—Cookie的使用

php—Cookie的使用

伊谢尔伦
伊谢尔伦原創
2016-11-22 10:34:161272瀏覽

PHP 透明地支援 HTTP cookie。 cookie 是一種在遠端瀏覽器端儲存資料並以此來追蹤和識別使用者的機制。可以用 setcookie() 或 setrawcookie() 函數來設定 cookie。 cookie 是 HTTP 標頭的一部分,因此 setcookie() 函數必須在其它資訊被輸出到瀏覽器前調用,這和對 header() 函數的限制類似。可以使用輸出緩衝函數來延遲腳本的輸出,直到按需要設定好了所有的 cookie 或其它 HTTP 標頭。

Example #1 setcookie()使用範例

<?php
$value = &#39;something from somewhere&#39;;
//设置Cookie
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
//删除Cookie
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>

如果 variables_order 中包含「C”,則任何從客戶端發送的 cookie 都會自動包含進 $_COOKIE 自動全域數組。如果希望對一個 cookie 變數設定多個值,則需在 cookie 的名稱後面加上 [] 符號。

<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// after the page reloads, print them out
if (isset($_COOKIE[&#39;cookie&#39;])) {
    foreach ($_COOKIE[&#39;cookie&#39;] as $name => $value) {
        $name = htmlspecialchars($name);
        $value = htmlspecialchars($value);
        echo "$name : $value <br />\n";
    }
}
?>

根據 register_globals 的設置,可以從 cookie 建立普通的 PHP 變數。但是不建議依賴此特性,因為出於安全原因此選項通常是關閉的。在早期的 PHP 版本中,當track_vars 設定選項開啟時(此選項自 PHP 4.0.3 後總是開啟的),系統也會設 $HTTP_COOKIE_VARS。

<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn