PHP cookie 清除不掉

攻城狮丶微凉 2018-07-25 09:24:44
后台写的方法返回清除成功,但是打印cookie 还是存在,求解。。。
...全文
365 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
coding8424 2018-07-26
  • 打赏
  • 举报
回复
引用 8 楼 ahu113 的回复:
分给你了
谢谢,共同进步
攻城狮丶微凉 2018-07-26
  • 打赏
  • 举报
回复
分给你了
攻城狮丶微凉 2018-07-26
  • 打赏
  • 举报
回复
楼上解释贼给力,谢谢
伟洪winni 2018-07-25
  • 打赏
  • 举报
回复
设置cookie 和 删除cookie 的代码
coding8424 2018-07-25
  • 打赏
  • 举报
回复
unset($_COOKIE)仅仅删除服务器存储的cookie变量,并不能删除浏览器存储的cookie。我做了一个例子解释一下,代码如下:

第一步先设置cookie,通过response header头告知浏览器设置cookie


调用unset($_COOKIE['test']);尝试一下,虽然$_COOKIE['test']打印不存在了,然而并没有删除浏览器cookie

下一次会话仍然能读取到cookie

使用setcookie删除cookie

通过response header头告知浏览器删除cookie,下一次会话读取也取不到cookie。
unset 只是删除服务端的变量,并不能通过会话作用于浏览器。只有setcookie能通过response header 告诉浏览器设置或过期删除。

攻城狮丶微凉 2018-07-25
  • 打赏
  • 举报
回复
引用 3 楼 lymdzu 的回复:
把cookie过期时间设置成过去时间就删除了,注意一下cookie所在的域,在浏览器控制台查看一下。setcookie("cookiename", "", time() - 3600, "/", "test.com", 1);
刚开始我没设置时间,删不掉,现在可以自动删除,我现在是先设置为空,在unset 一下就清除掉了,不知道什么鬼
攻城狮丶微凉 2018-07-25
  • 打赏
  • 举报
回复
解决了,我先把cookie 的值设为空, 然后 unset 了$_COOKIE 就好了,虽然我也不知道原理。。 但是这就很蛋疼。。。
coding8424 2018-07-25
  • 打赏
  • 举报
回复
把cookie过期时间设置成过去时间就删除了,注意一下cookie所在的域,在浏览器控制台查看一下。setcookie("cookiename", "", time() - 3600, "/", "test.com", 1);
xuzuning 2018-07-25
  • 打赏
  • 举报
回复
显然是你的代码写的不对!

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧