1. 程式人生 > >在php中修改cookie值遇到的奇怪問題

在php中修改cookie值遇到的奇怪問題

coo 代碼 有關 cookie值 clas 問題 time 目錄 span

本想修改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的理解還是比較膚淺,不知道為什麽前面的方法行不通。如果有對此比較熟悉的,麻煩留下您的見解,多謝!

在php中修改cookie值遇到的奇怪問題