2022-07-13 09:52:51
在 PHP 中,设置和读取 Cookie 主要通过 setcookie() 函数和 $_COOKIE 超全局数组实现,具体步骤如下:
1. 设置 Cookie使用 setcookie() 函数定义 Cookie 的名称、值及可选参数(如有效期、路径等)。
基本语法:
setcookie(name, value, expire, path, domain, secure, httponly);必填参数:
name:Cookie 的名称(字符串)。
value:Cookie 的值(字符串或数字)。
可选参数:
expire:过期时间(Unix 时间戳),未设置则 Cookie 在浏览器关闭后失效。
示例:time() + 3600 表示 1 小时后过期。
path:Cookie 的有效路径(如 / 表示整个网站)。
domain:Cookie 的有效域名(如 example.com)。
secure:设为 true 时,仅通过 HTTPS 传输。
httponly:设为 true 时,禁止 JavaScript 访问(增强安全性)。
示例代码:
// 设置名为 "user" 的 Cookie,值为 "johndoe",1 小时后过期,路径为根目录setcookie("user", "johndoe", time() + 3600, "/");注意事项:
setcookie() 必须在任何 HTML 输出或空格前调用,否则会报错。
若需设置多个 Cookie,需分别调用 setcookie()。
通过 $_COOKIE 超全局数组获取已设置的 Cookie 值。
新设置的 Cookie 需刷新页面后才能通过 $_COOKIE 读取(因 Cookie 需随 HTTP 请求发送到服务器)。
通过设置过期时间为过去的时间点“删除” Cookie。
基本方法:
setcookie("name", "", time() - 3600, "/");将 value 设为空字符串,expire 设为过去时间(如 time() - 3600)。
建议:保留与设置时相同的 path 和 domain,否则可能无法正确删除。
示例代码:
// 删除名为 "user" 的 Cookiesetcookie("user", "", time() - 3600, "/");通过以上步骤,可高效完成 PHP 中 Cookie 的设置、读取与删除操作。