Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP特点之会话机制1——Cookie的使用

PHP特点之会话机制1——Cookie的使用

黄舟
黄舟asal
2017-02-04 09:38:341320semak imbas

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)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn