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单例模式实现(对象只被创建一次)
Dec 05 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP使用ob_start生成html页面的方法
Nov 07 PHP
smarty表格换行实例
Dec 15 PHP
PHP单例模式详细介绍
Jul 01 PHP
怎样搭建PHP开发环境
Jul 28 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
php上传图片类及用法示例
May 11 PHP
php中二分法查找算法实例分析
Sep 22 PHP
PHP钩子实现方法解析
May 21 PHP
PHP实现获取文件mime类型多种方法解析
May 28 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
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Yii获取当前url和域名的方法
2015/06/08 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
勾股定理课后反思
2014/04/26 职场文书
初一军训感言
2015/08/01 职场文书
人力资源部工作计划
2019/05/14 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技