首頁  >  文章  >  後端開發  >  PHP特點會話機制1-Cookie的使用

PHP特點會話機制1-Cookie的使用

黄舟
黄舟原創
2017-02-04 09:38:341282瀏覽

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);  
?>

以上就是PHP特點之會話機制1-Cookie的使用的內容,更多相關內容請關注PHP中文網(www.php.cn)!


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