PHP特點之會話機制1——Cookie的使用
PHP 透明地支持 HTTP cookie。cookie 是一種在遠程瀏覽器端儲存數據并以此來跟蹤和識別用戶的機制。可以用 setcookie() 或 setrawcookie() 函數來設置 cookie。cookie 是 HTTP 標頭的一部分,因此 setcookie() 函數必須在其它信息被輸出到瀏覽器前調用,這和對 header() 函數的限制類似。可以使用輸出緩沖函數來延遲腳本的輸出,直到按需要設置好了所有的 cookie 或者其它 HTTP 標頭。
Example #1 setcookie()使用示例
<?php$value = ’something from somewhere’;//設置Cookiesetcookie('TestCookie', $value);setcookie('TestCookie', $value, time()+3600); /* expire in 1 hour */setcookie('TestCookie', $value, time()+3600, '/~rasmus/', 'example.com', 1);//刪除Cookiesetcookie ('TestCookie', '', time() - 3600);setcookie ('TestCookie', '', time() - 3600, '/~rasmus/', 'example.com', 1);?>
如果 variables_order 中包括“C”,則任何從客戶端發送的 cookie 都會被自動包括進 $_COOKIE 自動全局數組。如果希望對一個 cookie 變量設置多個值,則需在 cookie 的名稱后加 [] 符號。
<?php// set the cookiessetcookie('cookie[three]', 'cookiethree');setcookie('cookie[two]', 'cookietwo');setcookie('cookie[one]', 'cookieone');// after the page reloads, print them outif (isset($_COOKIE[’cookie’])) { foreach ($_COOKIE[’cookie’] 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 cookieecho $_COOKIE['TestCookie'];echo $HTTP_COOKIE_VARS['TestCookie'];// Another way to debug/test is to view all cookiesprint_r($_COOKIE);?>
相關文章:
1. React+umi+typeScript創建項目的過程2. .Net core 的熱插拔機制的深入探索及卸載問題求救指南3. ASP調用WebService轉化成JSON數據,附json.min.asp4. SharePoint Server 2019新特性介紹5. 三個不常見的 HTML5 實用新特性簡介6. 解決ASP中http狀態跳轉返回錯誤頁的問題7. ASP中常用的22個FSO文件操作函數整理8. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析10. ASP編碼必備的8條原則
