本想修改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的理解还是比较肤浅,不知道为什么前面的方法行不通。如果有对此比较熟悉的,麻烦留下您的见解,多谢!