PHP特點(diǎn)之會(huì)話機(jī)制1——Cookie的使用
PHP 透明地支持 HTTP cookie。cookie 是一種在遠(yuǎn)程瀏覽器端儲(chǔ)存數(shù)據(jù)并以此來(lái)跟蹤和識(shí)別用戶的機(jī)制。可以用 setcookie() 或 setrawcookie() 函數(shù)來(lái)設(shè)置 cookie。cookie 是 HTTP 標(biāo)頭的一部分,因此 setcookie() 函數(shù)必須在其它信息被輸出到瀏覽器前調(diào)用,這和對(duì) header() 函數(shù)的限制類似。可以使用輸出緩沖函數(shù)來(lái)延遲腳本的輸出,直到按需要設(shè)置好了所有的 cookie 或者其它 HTTP 標(biāo)頭。
Example #1 setcookie()使用示例
<?php$value = ’something from somewhere’;//設(shè)置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”,則任何從客戶端發(fā)送的 cookie 都會(huì)被自動(dòng)包括進(jìn) $_COOKIE 自動(dòng)全局?jǐn)?shù)組。如果希望對(duì)一個(gè) cookie 變量設(shè)置多個(gè)值,則需在 cookie 的名稱后加 [] 符號(hào)。
<?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'; }}?>
根據(jù) register_globals 的設(shè)置,可以從 cookie 建立普通的 PHP 變量。但是不推薦依賴于此特性,因?yàn)槌鲇诎踩虼诉x項(xiàng)通常是關(guān)閉的。在早期的 PHP 版本中,當(dāng)track_vars 配置選項(xiàng)打開(kāi)時(shí)(此選項(xiàng)自 PHP 4.0.3 后總是打開(kāi)的),系統(tǒng)還會(huì)設(shè) $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);?>
相關(guān)文章:
1. PHP中為什么使用file_get_contents("php://input")接收微信通知2. ASP基礎(chǔ)入門第二篇(ASP基礎(chǔ)知識(shí))3. ASP.NET MVC實(shí)現(xiàn)登錄后跳轉(zhuǎn)到原界面4. 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)5. ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證實(shí)例詳解6. 怎樣打開(kāi)XML文件?xml文件如何打開(kāi)?7. ASP.NET MVC限制同一個(gè)IP地址單位時(shí)間間隔內(nèi)的請(qǐng)求次數(shù)8. JSP出現(xiàn)中文亂碼問(wèn)題解決方法詳解9. vue的路由動(dòng)畫切換頁(yè)面無(wú)法讀取meta值的bug記錄10. jsp實(shí)現(xiàn)簡(jiǎn)單用戶7天內(nèi)免登錄
