您好!欢迎访问家园网-www.jy.wang!

家园网

请举例讲解PHP中setcookie()函数的用法

网络 作者:本站 点击:

以下是PHP中setcookie()函数的用法详解及示例:


1. 基础用法:设置Cookie

// 设置一个名为"username"的Cookie,值为"John",有效期1小时
setcookie("username", "John", time() + 3600, "/");
  • 参数解释‌:

    • "username":Cookie名称。

    • "John":Cookie值。

    • time() + 3600:过期时间(当前时间+3600秒)。

    • "/":作用路径(全站有效)。


2. 设置安全Cookie(HTTPS专用)

// 仅通过HTTPS传输,禁止JavaScript访问
setcookie("session_id", "abc123", time() + 86400, "/", "example.com", true, true);
  • 新增参数‌:

    • "example.com":作用域名。

    • true:仅HTTPS传输(安全标志)。

    • true:禁止JavaScript访问(HttpOnly)。


3. 删除Cookie

// 删除名为"username"的Cookie
setcookie("username", "", time() - 3600, "/");
  • 关键点‌:

    • 值设为空字符串""

    • 过期时间设为过去(time() - 3600)。


4. 设置数组型Cookie

// 存储数组数据(自动序列化)
$userData = ["name" => "Alice", "age" => 25];
setcookie("user_data", json_encode($userData), time() + 7200, "/");
  • 注意‌:需用json_encode()转换数组。


5. 完整参数列表

参数顺序含义示例值
1Cookie名称"theme"
2Cookie值"dark"
3过期时间time() + 3600
4作用路径"/admin"
5作用域名".example.com"
6仅HTTPS(布尔)true
7禁止JS访问(布尔)true

注意事项

  1. 输出顺序‌:setcookie()必须在任何HTML输出前调用,否则报错。

  2. 读取时机‌:新设置的Cookie需刷新页面后才能在$_COOKIE中读取。

  3. 路径/域名‌:删除时需与原设置一致(见前文详解)。

标签: