php setcookie 失效怎么办
php setcookie失效的解决办法:1、浏览器开启cookie;2、删除在setcookie()之前的任何HTTP头部输出;3、使用php的setcookie()来创建cookie即可。
本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑
php setcookie函数失效?
最近在为一个网站写php后台的时候发现setcookie这个函数总是不能正常的设置cookie,通过var_dump()发现函数返回值是false,显然是设置不成功,谷歌之,发现setcookie失效可能有这样一些原因:
浏览器禁用了cookie。不用检查,我肯定没有禁用。
使用php的setcookie()来创建cookie和php中开启session的 session_start()一样,在setcookie()之前不能有任何HTTP头部输出。我去检查代码,发现如下代码
var_dump($qOpenId);
setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');
果断注释var_dump($OpenId)这行,测试,成功。
个人认为,setcookie应该是直接设置http header里面的内容,所以前面不能有任何头部输出,var_dump,echo 什么的都不能有
推荐学习:《PHP视频教程》