php 设置不了cookie怎么办
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代码<?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代码<?php 之前有回车....
这点我之前没有注意过...
还有个挺白痴的问题
好多程序(例如:论坛)都有把 $_COOKIE , $_GET , $_POST 的值 extract 出来
然后 再 $_COOKIE ,$_GET , $_POST 等值 unset 掉
当然后面用$_COOKIE['XXXX']访问就访问不到咯
这适合用修改其他完整的系统的情况。
推荐学习:《PHP视频教程》
以上就是php 设置不了cookie怎么办的详细内容,更多请关注其它相关文章!
上一篇: 如何解决php数组转json中文乱码问题
下一篇: php怎么设置常量
推荐阅读
-
初来乍到,PHP setcookie怎么能正确使用?我写的代码只能设置两个中的一个,怎么办?
-
浏览器当前设置cookie被禁用怎么办?
-
浏览器当前设置cookie被禁用怎么办?
-
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
-
PHP setcookie设置Cookie用法(及设置无效的问题)
-
Win10背景设置不了已由组织隐藏或设置怎么办?
-
Win11系统语言修改不了中文怎么办?Win11系统的语言设置教程
-
PHP COOKIE设置为浏览器进程
-
PHP setcookie设置Cookie用法(及设置无效的问题)
-
Win11输入法切换不了怎么办?怎么设置win11输入法切换快捷键