答案:通过 setcookie()设置、$_COOKIE 读取、再次调用 setcookie()删除;需注意输出时机、路径一致性和存在性检查。

如果您在开发 php 网站时需要在客户端存储用户信息或状态,可以使用 COOKIE 来实现数据的持久化保存。以下是设置和读取 COOKIE 的具体操作方法:
一、设置 COOKIE
在 PHP 中,通过 setcookie()函数可以在客户端创建一个 COOKIE,该函数需在任何输出之前调用,否则会失败。COOKIE 将按照指定的名称、值、有效期、路径等参数保存在用户的 浏览器 中。
1、使用 setcookie()函数定义 COOKIE 的基本信息,包括名称、值、过期时间、路径等。
2、确保在调用 setcookie()前没有任何 html 或空白字符输出,否则 COOKIE 将无法正确设置。
立即学习“PHP 免费学习笔记(深入)”;
3、示例代码:setcookie(“user_name”, “JohnDoe”, time()+3600, “/”); 表示创建一个名为 user_name 的 COOKIE,值为 JohnDoe,有效期为 1 小时,作用域 为整个网站根目录。
二、读取 COOKIE
当 COOKIE 被成功设置后,可在后续请求中通过 $_COOKIE 超全局数组获取其值。每次页面加载时,浏览器 会自动将符合条件的 COOKIE 发送到服务器。
1、使用 $_COOKIE[‘cookie_name’]语法访问已设置的 COOKIE 值,例如:echo $_COOKIE[‘user_name’];
2、在读取前应先检查 COOKIE 是否存在,可使用 isset()函数进行判断,避免因访问未定义索引而产生警告。
3、示例代码:if (isset($_COOKIE[‘user_name’])) {echo “ 欢迎回来:” . $_COOKIE[‘user_name’]; }
三、删除 COOKIE
删除 COOKIE 的本质是将其过期时间设置为过去的时间点,使浏览器自动清除该条目。必须确保删除时的路径和其他设置与创建时一致。
1、再次调用 setcookie()函数,并将过期时间设为当前时间减去一个正值,如 time()-3600。
2、COOKIE 名称必须与原设置相同,路径也需保持一致,否则可能导致删除失败。
3、示例代码:setcookie(“user_name”, “”, time()-3600, “/”); 可清除之前设置的 user_name COOKIE。


