php setcookie无效问题解决

IT 文章7天前更新 小编
0 0 0

最近修改优化程序员在线工具箱网站的喜欢按钮,发现setcookie无效,导致服务器端一直无法将cookie信息传回浏览器,搞了好久,终于解决了!下面,潘老师说下php的setcookie方法失效问题的解决办法。
[v_act]原因分析[/v_act]
刚开始网上一般的方法都尝试过,基本无效,在浏览器允许Cookie的情况下,php的setcookie方法无效根本的原因就在于在调用setcookie方法之前,就有执行过类似echodumpvar_dump等方法,cookie是以HTTP HEADER请求头的形式传回浏览器,这些方法也会导致头部输出。

而使用php的setcookie来创建cookie和php中开启session的 session_start一样,在setcookie之前不能有任何HTTP头部输出

潘老师去检查代码,发现如下在调用setcookie之前require引入了几个php文件,这些文件中正是有这样的输出才导致setcookie无效。
[v_act]解决办法[/v_act]
从调用setcookie方法之前代码或php文件去找出所有的类似头部输出的方法太麻烦了,最终最简单的解决办法就是在调用setcookie方法所在的php文件头部调用如下方法即可解决:

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

ob_start();

ob_start()函数作用是打开输出缓冲。当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。这就成功解决了php setcookie无效的问题。

© 版权声明

相关文章

暂无评论

暂无评论...