首页 >后端开发 >php教程 >为什么 `unset($_COOKIE['cookie_name'])` 不删除 Cookie,以及如何正确执行此操作?

为什么 `unset($_COOKIE['cookie_name'])` 不删除 Cookie,以及如何正确执行此操作?

DDD
DDD原创
2024-12-14 14:08:13144浏览

Why Doesn't `unset($_COOKIE['cookie_name'])` Remove a Cookie, and How Can I Do It Properly?

如何有效删除 cookie

尝试使用 unset($_COOKIE['hello']); 删除 cookie 时,您您可能会注意到该 cookie 在您浏览器的 cookie 管理器中仍然可见。这是因为 unset 函数仅从 PHP 内存中删除 cookie,而不是从浏览器中删除。

要永久删除 cookie,需要执行以下步骤:

  1. 从 PHP 内部取消设置 cookie内存:

    unset($_COOKIE['remember_user']);
  2. 将cookie设置为过去过期(例如1小时前):

    setcookie('remember_user', '', time() - 3600, '/');
  3. 确保cookie路径与原来的一致cookie:
    setcookie 函数将路径作为其第三个参数。该路径应与最初创建 cookie 时指定的路径匹配。如果路径不匹配,PHP 可能无法正确删除 cookie。
  4. 返回成功消息(可选):

    return true;

通过执行以下步骤,您可以有效地从浏览器中删除 cookie,并防止它在将来的请求中使用。

以上是为什么 `unset($_COOKIE['cookie_name'])` 不删除 Cookie,以及如何正确执行此操作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn