我是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()清除用户信息时,更改不会在页面刷新后生效。
答案 0 :(得分:2)
为什么setcookie()方法优越?
它不是上级,它是实际工作的唯一方法。
更改$_COOKIE
仅更改当前请求。在下一个请求中,阵列将再次填充用户浏览器发送的所有cookie。您必须告知浏览器有关更改的信息,唯一的方法是使用setcookie
。
,如果您愿意,可以同时执行这两项工作,setcookie
和更改$_COOKIE
,以确保您不会稍后在脚本中使用旧的(即将离开)值。