好吧我有一個cookie集,我可以清楚地看到它,如果我去Firefox中的私人數據...好吧,所以當我在它的工作的某個目錄中的一個頁面上回顯它時, www.example.com/dir),但在網站(www.example.com)的索引頁面上,它不會回顯,它表示cookie未設置。是的,我啓用了Cookie,是的,我嘗試清除緩存等等。有任何想法嗎? PHP btw餅乾不在不同的頁面上工作
回答
當cookie被設置時,你處於哪個目錄?
從PHP manual on setcookie(),重點煤礦:
路徑
其中的cookie將可在服務器上的路徑。如果設置爲「/」,則Cookie將在整個域中可用。如果設置爲'/ foo /',則cookie將僅在/ foo /目錄和所有子目錄(如/ foo/bar/of域)中可用。 默認值是該cookie被設定爲當前目錄。
你需要檢查cookie的設置路徑。
如果不是'/'
,您的答案是!
Cookie可以被綁定到特定的域名,子域名,路徑和協議(HTTP/HTTPS)。你需要指定的路徑在PHP中設置cookie時:
setcookie("TestCookie", "Value", time()+3600 , '/');
第四個參數綁定到網站的根,它會在主網站的任何子目錄中可用。
如果你希望它可以在主域和子域的任何,提供第五個參數是這樣的:
setcookie("TestCookie", "Value", time()+3600 , '/', '.example.com');
現在,這將是可讀的:
www.example.com
example.com/newdir
awesome.example.com/newdir
在最後加上'/','.example.com'爲我解決了這個問題 – Nate 2014-06-12 04:25:41
如果要在所有目錄中訪問它,則需要將$ path設置爲/ in setcookie()
設置路徑選項;默認值是設置Cookie的當前目錄。因爲您將cookie設置在目錄/ dir中,它只能在該目錄內或在其下面使用。
你可以通過明確設置路徑來解決這個問題,即。
setcookie(name,value,expire,path,domain,secure)
將路徑設置爲「/」。
我輸入WAY的速度太慢了。 – Erik 2010-01-10 21:50:54
是的嘗試這個,我也面臨這個問題,但通過下面的代碼解決。
setcookie("TestCookie", "Value", time()+3600 , '/');
必須在頁面輸出前設置Cookies! 由於Cookie由腳本發送到HTTP頭中的瀏覽器,因此在發送頁面之前,必須先設置,然後才能發送單行HTML或任何其他頁面輸出。在你發送任何輸出的那一刻,你正在發信號通知HTTP頭的結尾。發生這種情況時,您不能再設置任何cookie。如果你嘗試,setcookie()函數將返回FALSE,並且cookie不會被髮送。
閱讀:http://www.thesitewizard.com/php/set-cookies.shtml – 2013-05-12 05:56:14
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
並在另一頁:
$username = $_COOKIE['cookie_username'];
也確保瀏覽器未阻止了Cookie。
如果您想使用的子域還餅乾:
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/", ".subdomain.com"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
- 1. 不在不同的電腦上工作的餅乾
- 2. AngularJs餅乾不工作
- 3. MD5餅乾不工作python3
- 4. MVC 3餅乾不工作
- 5. jQuery的餅乾並不在IE工作
- 6. 餅乾檢索在GSP不工作
- 7. 餅乾不在symbian中工作
- 8. 餅乾過期不工作在C#
- 9. 餅乾不能在wordpress中工作
- 10. Rails的餅乾不工作的權利
- 11. 餅乾在子頁面
- 12. PHP餅乾的問題...... cookie的工作在一個頁面上,但不工作的另一個
- 13. formsauthentication.redirectfromloginpage和餅乾不工作的IE11和Chrome在iPad上
- 14. 會話和餅乾不工作
- 15. jQuery切換餅乾不工作
- 16. 基金會6揭示在頁面加載與餅乾不工作
- 17. Codeigniter 3餅乾不在服務器上工作
- 18. 需要更新我的餅乾從閃存餅乾,但不刷新頁面
- 19. chartjs不工作的PHP頁面,但在HTML頁面上工作
- 20. 餅乾不在ie7
- 21. 餅乾不工作在服務器上,雖然在本地工作正常
- 22. PHP重定向,或餅乾,不在Godaddy上工作,但在localhost工作
- 23. jQuery餅乾不起作用!
- 24. WebView餅乾不起作用
- 25. 身體追加不能在不同的頁面上工作
- 26. 搜索欄不能在不同的頁面標籤上工作
- 27. ng-click不能在不同的頁面上工作
- 28. PHP - 餅乾的工作
- 29. 餅乾不laravel
- 30. 不同csrfmiddlewaretoken在形式和餅乾
您可能會發現['$ cookie->的setpath($ PATH)'](https://github.com/delight-im/ PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L104)很有幫助,可以在[這個獨立的庫](https://github.com/delight-im/PHP-Cookie)中找到。 – caw 2016-09-21 02:23:29