php設定不了cookie的解決方法:1、在PHP程式的最開頭執行一次「ob_start();」;2、修改伺服器時間或成長cookie生命;3、設定正確的作用域;4 、使用帶參數url傳遞cookie的值等。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
php 設定不了cookie怎麼辦?
PHP程式無法設定cookie
1、PHP程式在執行setcookie之前有輸出。
解決 :
把setcookie之前的程式檢查一下,是否在PHP程式碼
或:
在程式的最開頭執行一次ob_start();
2、PHP cookie生命太短,尚未生效就已死亡
# 此題的檢視可以在PHP程式中執行time();看看伺服器時間與本地時間差是否超過生存時間
解決:修改伺服器時間或成長cookie生命。
3、PHP cookie作用域不對
先把cookie的作用域設定成 / ,看是否有問題。如果問題解決,再設定成正確的作用域
4、使用者禁止使用cookie
這不是程式的錯了。不過可以使用帶有參數url傳遞cookie的值或session來解決。
5、其他問題
6、感謝三樓的fjytzh 的補充,這種情況多出在比較老點的程序中。這個效果相當於register_global=on.
好多程式(例如:論壇)都有把$_COOKIE , $_GET , $_POST 的值extract 出來
然後再$_COOKIE ,$_GET , $_POST 等值unset 掉.
這種事情比較水,我也沒有預防的辦法。只有在開發的時候才注意。
當然後面用$_COOKIE['XXXX']訪問就訪問不到咯
7、最白痴的問題
cookie值為空,這個怎麼做就不用我說了吧
在PHP程式碼
這點我之前沒有註意過...
還有個挺白痴的問題
好多程式(例如:論壇)都有把$_COOKIE , $_GET , $_POST 的值extract 出來
然後再$_COOKIE ,$_GET , $_POST 等值unset 掉
當然後面用$_COOKIE['XXXX']訪問就訪問不到咯
#這適合用修改其他完整的系統的情況。
推薦學習:《PHP影片教學》
以上是php 設定不了cookie怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!