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 高级课程笔记 面向对象
Jun 21 PHP
php 正则匹配函数体
Aug 25 PHP
php json与xml序列化/反序列化
Oct 28 PHP
调整PHP的性能
Oct 30 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
php计算整个目录大小的方法
Jun 01 PHP
PHP实现HTML页面静态化的方法
Nov 04 PHP
php实现购物车功能(下)
Jan 05 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 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
php中return的用法实例分析
2015/02/28 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
google地图的路线实现代码
2009/08/20 Javascript
js 学习笔记(三)
2009/12/29 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
python实现下载pop3邮件保存到本地
2018/06/19 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
python中如何写类
2020/06/29 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
党员自我评价分享
2013/12/13 职场文书
美国留学经济担保书
2014/05/20 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
Python中的程序流程控制语句
2022/02/24 Python