我有創建使用set_cookie這樣的cookie值的頁面:問題餅乾
setcookie("is_voted","1",time()+60*60*24*10,"/~poll/","spacepower.tv");
但使用$ _COOKIE數組
如何解決這個問題我不能讓這個cookie值問題?
我有創建使用set_cookie這樣的cookie值的頁面:問題餅乾
setcookie("is_voted","1",time()+60*60*24*10,"/~poll/","spacepower.tv");
但使用$ _COOKIE數組
如何解決這個問題我不能讓這個cookie值問題?
我遇到了同樣的問題。根據PHP手冊:
餅乾不會成爲可見,直到 到的網頁上 餅乾應該是可見的未來負載。要測試 ,如果cookie已成功設置,則在cookie過期之前, 將在下一個加載 頁面上檢查cookie。到期 時間通過expire參數設置。 調試 cookie的好方法是簡單地調用 print_r($ _ COOKIE);.
基本上,$ _COOKIE superglobal只在腳本第一次運行時更新。如果您設置了新的cookie,它將不會立即在$ _COOKIES中可用。您必須啓動腳本才能看到更新的$ _COOKIE值。如果你沒有看到他們,然後,你有一個問題。
根據php.net:
Cookies是HTTP頭的一部分,所以setCookie方法之前的任何輸出被髮送到瀏覽器()必須被調用。
當他們說任何輸出之前,他們的意思是任何輸出。如果在<?php ?>
塊之外有空白,包括空行,則會導致發送標頭並且不會設置cookie。
請提供一些代碼。 – eykanal 2011-01-25 19:13:59
如果您在設置cookie的同一腳本中使用`$ _COOKIE`,則您沒有獲得任何值,因爲cookie已在該腳本中註冊,並且僅在第一次運行後纔可用。 – Shoe 2011-01-25 19:24:40