php的cookie

php中cookie

1.cookie的多文件操作时

方法原型: bool setcookie(string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]])

基础的创建就不说了,说说自己遇到的坑。如果你发现你明明在摸个文件中设置了cookie值,但在另一个文件中去取的时候却不见了,那么大概就是这种情况了。

在setcookie()中有很多参数,大多数我们只写了name,value,expire(持续时间) ,然而在实际网站中我们的cookie常常要在多个页面抑或者说是多个目录中去使用,那么此时不去设置path,就有可能想去取cookie值的时候取不到。
比如根目录为‘/’,cookie的path所在目录为‘/a’(文件夹a),那么在目录‘./a’(文件夹a)中的中的文件(包括后代)就能读取它,而例如’/b/’(文件夹b)和‘/test.php’(文件test。php)中的文件就不能读取它
你在某个cookie的path在a目录中,那么
那么其他目录的文件中就不能取到它,而在子级中可以取到父级目录中的cookie。
(注意)

同样效果还有domain(作用域)等,可以自己去查看setcookie()函数的手册。

如果你想知道你的cookie的属性,你可以在有该cookie的页面,按下通过浏览器F12通过控制台来查看。通常cookie都在控制台的Application目录下的Cookie里面。看看它的path和domain是否和你想要的范围相同。
控制台查看cookie
在这里插入图片描述
可以从上面看去即使是name相同的cookie,由于它的path不同,就会导致他们的是两个个体,所以你的有时当你发现你明明setcookie()改变了某个cookie的值,但为什么不更新呢,所者说在某些地方更新了,某些地方好像有没有?那就是这些后面的属性path和domain的影响(domain打码因为是新手测试网站,怕被黑啊),你改变的cookie不是你想改变的那一个cookie,它俩虽然同名,但却是不一样的。这样的错误比较简单,却也容易忽略,只要控制台一测即可。
tips:由于子目录会包含父目录的cookie,所以你可以找子父目录的文件来查看cookie,越往下越好。看看你有多少同名的cookie。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值