超全局 $_COOKIE以cookie的形式存储传递给当前脚本的变量以及HTTP请求。$HTTP_COOKIE_VARS也包含相同的信息,但不是超全局信息,现已弃用。
Cookies是由服务器存储在客户端计算机上的文本文件,并且保留使用跟踪的目的。PHP透明地支持HTTP cookie。Cookies通常在HTTP标头中设置。JavaScript也可以直接在浏览器上设置cookie。
服务器脚本将一组cookie发送到浏览器。它将此信息存储在本地计算机上,以备将来使用。下次浏览器向Web服务器发送任何请求时,它将那些cookie信息发送到服务器,并且服务器使用该信息来识别用户。
PHP包含 setcookie 函数,以创建一个cookie对象,该对象将与HTTP响应一起发送给客户端。
setcookie(name, value, expire, path, domain, security);
名称-存储的cookie的名称。
值-这将设置命名变量的值。
到期时间-这是自1970年1月1日格林尼治标准时间00:00:00起以秒为单位的未来时间。
路径-cookie有效的目录。
域-在非常大的域中指定域名。
安全-HTTPS为1。常规HTTP的默认值为0。
<?php if (isset($_COOKIE['username'])) echo "<h2>Cookie name is already set with value: " . $_COOKIE['username'] . "</h2>"; else{ setcookie("username", "Anil"); echo "<h2>Cookie is now set </h2>"; ?>
在客户随后访问时检索Cookie
<?php $arr=$_COOKIE; foreach ($arr as $key=>$val); echo "<h2>$key=>$val </h2>"; ?>
输出结果
浏览器将显示类似于以下内容的结果
username=>Anil
要删除cookie,请将cookie的日期设置为已过期