设置一个cookie,使网站能识别来自同一个Web浏览器的后续请求
bool setcookie ( string $name [, string $value = "" [, int $expires = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]]] )
参数说明:
1、$name(必需):Cookie 的名称。
2、$value(可选):Cookie 的值。默认为空字符串。
3、$expires(可选):Cookie 的过期时间,是一个 Unix 时间戳(秒数)。如果设置为 0 或省略,Cookie 将在会话结束时过期(即关闭浏览器时)。
4、$path(可选):服务器上的有效路径。默认为当前脚本的路径。可以使用斜杠(/)表示整个域名有效。
5、$domain(可选):有效的域名。默认为当前域名。
6、$secure(可选):如果设置为 true,则 Cookie 仅通过 HTTPS 连接发送。
7、$httponly(可选):如果设置为 true,则通过 HTTP 协议访问,JavaScript 无法访问(有助于防止 XSS 攻击)。
setcookie()的第4个参数是一个路径。只有当所请求页面的路径以指定字符串开头时才会将cookie发送回服务器。
setcookie()的第5个参数是一个域。只有当所请求的页面的主机名以指定域结尾时才会向服务器发回cookie。
// 设置一个名为 "user" 的 Cookie,值为 "John Doe",有效期为 1 小时
$cookie_name = "user";
$cookie_value = "John Doe";
$cookie_expiry = time() + 3600; // 当前时间 + 1 小时
setcookie($cookie_name, $cookie_value, $cookie_expiry, "/");
echo "Cookie named '" . $cookie_name . "' is set!
";
echo "Value is: " . $_COOKIE[$cookie_name]; // 注意:刚设置的 Cookie 在当前脚本中不可用,需要在下一次请求中访问