setcookie中Cannot modify header information-headers already sent by错误的解决方法详解


Posted in PHP onMay 08, 2013
<?php
   setcookie("username","bu",time()+3600);
   echo "aaaaa";
?>

运行有警告Warning: Cannot modify header information - headers already sent by 

下面是别人建议

方法一:
在PHP里Cookie的使用是有一些限制的。
1、使用setcookie必须在<html>标签之前
2、使用setcookie之前,不可以使用echo输入内容
3、直到网页被加载完后,cookie才会出现
4、setcookie必须放到任何资料输出浏览器前,才送出
.....
由于上面的限制,在使用setcookie()函数时,学会遇到 "Undefined index"、"Cannot modify header information - headers already sent by"…等问题,解决办法是在输出内容之前,产生cookie,可以在程序的最上方加入函数 ob_start();

ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

方法二:
解决Warning: Cannot modify header information - headers already sent by ...... 前几天装了个php的大头贴系统测试,发现报错Warning: Cannot modify header information - headers already sent by ......
今天又装openads,还是出现这个问题。怒了。上网找了半天,有人说要在文件开头写上
ob_start();
失败。
后来打开 php.ini 然后把 output_buffering 设为 on 。重起appache,OK。看来这才是解决办法。

特别注意:(我就是看了这个才解决问题的)
如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打开转换一下。(我就是看了这个才解决问题的)

自己解决办法

PHP4,5 都不支持utf-8编码文件中的BOM

如果文件包含BOM,设置cookie或者session 时都会报错.
如何能快速方便的去掉文件的BOM.
推荐使用 Notepad++ 软件,非常优秀的免费软件.
1.可以在设置-->首选项-->新建 默认新建UTF-8(无BOM) 

2.如果是在别处新建的php文件,在notpad++中打开如何将编码转变成 UTF-8(无BOM)
格式-->UTF-8(无BOM)  这时就可以转码了.
PHP 相关文章推荐
ASP和PHP都是可以删除自身的
Apr 09 PHP
php 进度条实现代码
Mar 10 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
使用php实现截取指定长度
Aug 06 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
PHP封装的完整分页类示例
Aug 21 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
PHP 登录记住密码实现思路
May 07 #PHP
php启动时候提示PHP startup的解决方法
May 07 #PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 #PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
May 07 #PHP
wamp下修改mysql访问密码的解决方法
May 07 #PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 #PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 #PHP
You might like
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
js中parseInt函数浅谈
2013/07/31 Javascript
js 走马灯简单实例
2013/11/21 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python中的面向对象编程详解(上)
2015/04/13 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python计算auc指标实例
2017/07/13 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python使用rpc框架gRPC的方法
2018/08/24 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
Python如何定义一个函数
2015/09/01 面试题
环保公益广告语
2014/03/13 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
捐书仪式主持词
2015/07/04 职场文书
基于python实现银行管理系统
2021/04/20 Python
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js