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头部输出。我去检查代码,发现如下代码
立即学习“PHP免费学习笔记(深入)”;
<p>var_dump($qOpenId);<br/>setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');<br/></p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/%E8%BD%BB%E8%88%9F%E5%8A%9E%E5%85%AC">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175679991179667.png" alt="轻舟办公">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/%E8%BD%BB%E8%88%9F%E5%8A%9E%E5%85%AC">轻舟办公</a>
                            <p>基于AI的智能办公平台</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="轻舟办公">
                                <span>194</span>
                            </div>
                        </div>
                        <a href="/ai/%E8%BD%BB%E8%88%9F%E5%8A%9E%E5%85%AC" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="轻舟办公">
                        </a>
                    </div>
                果断注释var_dump($OpenId)这行,测试,成功。
个人认为,setcookie应该是直接设置http header里面的内容,所以前面不能有任何头部输出,var_dump,echo 什么的都不能有
推荐学习:《PHP视频教程》
以上就是php setcookie 失效怎么办的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号