Re: [請益] COOKIE怪怪的~"~

看板PHP作者 (LaPass)時間13年前 (2012/08/05 01:41), 編輯推噓3(308)
留言11則, 6人參與, 最新討論串2/3 (看更多)
C:瀏覽器 S:伺服器 <?php setcookie("name","a",0); echo $_COOKIE["name"]."<br/>"; ?> 第一次: C: 我要連線,我沒有帶cookie S: 收到了連線,我知道cookie是空的 (2) S: 設定了cookie name=a C: 收到,我把cookies記錄起來 S: 印出字串,把cookies中的字串印出來... 由開始連線時的(2)的步驟拿出cookies 印出空字串 第二次: C: 我要連線,我的cookie name=a S: 收到了連線,我知道name=a S: 設定了cookie name=a C: 收到,我把cookies記錄起來 S: 印出字串,把cookies中的字串印出來... name=a => 印出a http://tw.php.net/manual/zh/function.setcookie.php Once the cookies have been set, they can be accessed on the next page load with the $_COOKIE or $HTTP_COOKIE_VARS arrays. <?php setcookie("name","a",0); echo $_COOKIE["name"]."<br/>"; setcookie("name","b",0); echo $_COOKIE["name"]."<br/>"; ?> 這個我就不清楚原因了..... -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.77.37

08/05 01:52, , 1F
我在想.... 時間設0是不是指,註銷cookies啊?
08/05 01:52, 1F

08/05 03:48, , 2F
http://php.net/setcookie 設 0 表示就此一次
08/05 03:48, 2F

08/05 03:53, , 3F
那為什麼會出現,第一次重新整理是a,第二次b
08/05 03:53, 3F

08/05 07:31, , 4F
其實後面這個的原理跟前面那個是一樣的
08/05 07:31, 4F

08/05 07:32, , 5F
因為第一次重整的時候name的值被更改為b,在那個當下
08/05 07:32, 5F

08/05 07:32, , 6F
雖然Cookie的值改變了,但結果要”下一次讀取”才看
08/05 07:32, 6F

08/05 07:33, , 7F
得到,所以,第一次重新整理的時候Cookie中name的值
08/05 07:33, 7F

08/05 07:33, , 8F
還是a,當然列印出來的兩個name值都會是a囉。
08/05 07:33, 8F

08/05 09:11, , 9F
cookies must be sent before any output from your script
08/05 09:11, 9F

08/05 09:58, , 10F
真的有興趣的話,可以開f12對照一下,其實原理很好理解
08/05 09:58, 10F

08/05 10:28, , 11F
了解了!!! 謝謝!!!!!
08/05 10:28, 11F
文章代碼(AID): #1G7LxJZ3 (PHP)
文章代碼(AID): #1G7LxJZ3 (PHP)