cookie跨目录调用无效问题(报错Undefined index)

跨目录调用cookie无效问题


问题

一个页面里面明明用了setcookie 但是之后别的的页面调用cookie时却会报Undefined index
查阅资料也问了同学,发现基本就是都会犯的问题了233333
自己记录一下也希望可以帮助别人避免踩坑或者少在这种坑浪费时间

原因

后来发现原因是 cookie除了 名字,对应值和作废时间(expirytime) 之外还有另一个重要的参数是 ‘path’
如果不设定的话会默认该cookie只能在 当前目录和下级目录下 被调用 ,而在其再上级目录中就没法用

这边贴一个别人讲的更具体更清楚的
别人的介绍


解决方案

那其实应该怎么做也很明显了,在原来的setcookie后面加上path参数
比较保险且偷懒的方法当然是直接每个setcookie的path参数都直接设定为根目录

php用法

//php里面这样用
$expiryTime = 某个时间;
setcookie("your_variable_name", your_variable_value, $expiryTime,'your_path_here');

js用法

//js里面这样用
//一个字符串里面写好你要用的cookie 分别是你要用作状态保持的变量和对应值 ,作废时间和可用路径
//说来我做到这里的时候发现不会用js操作cookie  抱着万一碰巧帮到谁的想法也写一下
document.cookie = "variable= value ; expires= expTime ; path=/yourpath/";

值得注意的是,记得要路径后面要加上一个斜杠 比如“/home/mypath/” 不能是“/home/mypath”


顺带一提

如何在浏览器里查看cookie

猜你喜欢

转载自blog.csdn.net/wohaoshuia/article/details/107588341