PHP 中如何设置和获取 cookie?

· 约 2 分钟读完 · 第 102 / 191 章

推荐答案

在 PHP 中,可以使用 setcookie() 函数来设置 cookie,使用 $_COOKIE 超全局数组来获取 cookie。

设置 Cookie

  • username 是 cookie 的名称。
  • JohnDoe 是 cookie 的值。
  • time() + 3600 设置 cookie 的过期时间为当前时间加 3600 秒(1 小时)。
  • "/" 表示 cookie 在整个网站范围内有效。

获取 Cookie

  • $_COOKIE["username"] 用于获取名为 username 的 cookie 值。

本题详细解读

设置 Cookie

setcookie() 函数用于设置 cookie。它接受多个参数:

  • name: cookie 的名称。
  • value: cookie 的值。
  • expire: cookie 的过期时间,通常使用 time() 函数加上秒数来设置。
  • path: cookie 在服务器上的有效路径。"/" 表示在整个网站范围内有效。
  • domain: cookie 的有效域名。默认是当前域名。
  • secure: 如果设置为 true,cookie 仅通过 HTTPS 传输。
  • httponly: 如果设置为 true,cookie 仅可通过 HTTP 协议访问,不能通过 JavaScript 访问。

获取 Cookie

$_COOKIE 是一个超全局数组,用于存储所有通过 HTTP COOKIE 传递到当前脚本的变量。可以通过数组键名来访问特定的 cookie 值。

注意事项

  • Cookie 的时效性: cookie 在客户端浏览器中存储,过期时间由 expire 参数决定。如果未设置过期时间,cookie 将在浏览器关闭时失效。
  • 安全性: 敏感信息不应存储在 cookie 中,因为 cookie 可以被客户端修改。
  • HTTP Only: 设置 httponly 参数为 true 可以防止 JavaScript 访问 cookie,增加安全性。