在php中修改cookie值遇到的奇怪问题

本想修改cookie的值比较简单,结果测试发现并不是。

刚开始实现cookie修改的思路:先删除以前的cookie值,再创建一个新的。

 setcookie('name',value,time()-1);
 setcookie('name',newvalue,time()+3600);

结果测试发现:出现了两个同名的cookie,之前的根目录有一个cookie,且有效期变为了一年,新创建的cookie为子目录。

于是查找资料,发现说是setcookie函数还有路径这一参数,cookie值的设置和路径有关。于是把代码修改了再次测试

 setcookie('name',value,time()-1,'/');
 setcookie('name',newvalue,time()+3600,'/');

发现问题还是依旧,依旧有两个cookie。

不死心,继续查找修改cookie值的方法。又找到了一种删除cookie方法。把cookie值置为空,也可以删除cookie。赶紧试一下

 setcookie('name','');
 setcookie('name',newvalue,time()+3600,'/');

经测试,完美解决了cookie值的修改问题。哈哈,找到了一个比较靠谱的修改cookie值的方法。

我对php的理解还是比较肤浅,不知道为什么前面的方法行不通。如果有对此比较熟悉的,麻烦留下您的见解,多谢!

 

posted @ 2018-07-03 08:54  imustsun  阅读(297)  评论(0编辑  收藏  举报