【问题标题】:Using setcookie() to expire a cookie variable vs using $_COOKIE = array();使用 setcookie() 使 cookie 变量过期与使用 $_COOKIE = array();
【发布时间】:2023-04-01 09:48:01
【问题描述】:

我是 PHP 新手,我正在构建一个简单的登录表单。我想给用户一个选项来选中带有“保持登录”选项的框。我正在使用 cookie 数组来实现这一点。

当用户点击注销时,我使用 $_COOKIE = array() 删除为该用户存储的变量。但是,我查看过的所有文档都建议使用 setcookie() 并将过期日期设置为过去。

https://www.w3schools.com/php/php_cookies.asp

How to delete/unset a cookie on php?

https://php.net/manual/en/features.cookies.php

为什么 setcookie() 方法更优越?我注意到在使用 setcookie() 清除用户信息时,更改在页面刷新后才会生效。

【问题讨论】:

    标签: php cookies


    【解决方案1】:

    为什么 setcookie() 方法优越?

    它不是优越,它是唯一真正有效的方法。

    更改$_COOKIE 仅针对当前请求更改它。在下一个请求中,数组将再次填充用户浏览器发送的所有 cookie。您必须将更改通知浏览器,唯一的方法是使用setcookie

    可以,如果您愿意,可以同时执行setcookie 更改$_COOKIE,以确保您不会使用旧的(很快- to-be-gone) 值稍后在您的脚本中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 2012-08-04
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多