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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
PHP闭包实例解析
Sep 08 PHP
一个经典的PHP验证码类分享
Nov 18 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
php实例化对象的实例方法
Nov 17 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
一个odbc连mssql分页的类
2006/10/09 PHP
php 购物车完整实现代码
2014/06/05 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
JavaScript中yield实用简洁实现方式
2010/06/12 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
Node接收电子邮件的实例代码
2017/07/21 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
python中ConfigParse模块的用法
2014/09/29 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python redis 删除key脚本的实例
2019/02/19 Python
python字典的值可以修改吗
2020/06/29 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
explicit和implicit的含义
2012/11/15 面试题
高一化学教学反思
2014/02/05 职场文书
大学生励志演讲稿
2014/04/25 职场文书
2014年教师学期工作总结
2014/11/08 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
如何理解及使用Python闭包
2021/06/01 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python