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 相关文章推荐
用PHP实现的生成静态HTML速度快类库
Mar 31 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
PHP 执行系统外部命令 system() exec() passthru()
Aug 11 PHP
PHP 类相关函数的使用详解
May 10 PHP
php启用zlib压缩文件的配置方法
Jun 12 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
php实现图片上传、剪切功能
May 07 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
Laravel validate error处理,ajax,json示例
Oct 25 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
桌面中心(一)创建数据库
2006/10/09 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
JQuery1.6 使用方法三
2011/11/23 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
js实现登录与注册界面
2017/11/01 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
Python实现修改IE注册表功能示例
2018/05/10 Python
python实现图片筛选程序
2018/10/24 Python
python调用支付宝支付接口流程
2019/08/15 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python操作Jira库常用方法解析
2020/04/10 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
日语翻译个人求职的自我评价
2013/10/14 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
考试不及格的检讨书
2014/01/22 职场文书
给校长的建议书400字
2014/05/15 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
公务员政审材料范文
2014/12/23 职场文书
宿舍管理制度范本
2015/08/07 职场文书
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
一文搞懂Python Sklearn库使用
2021/08/23 Python