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

 更新时间:2013年05月08日 14:46:39   作者:  
本篇对setcookie中Cannot modify header information-headers already sent by错误的解决方法进行了详细的分析介绍。需要的朋友参考下
复制代码 代码如下:

<?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上的memcache和memcached两个pecl库

    php上的memcache和memcached两个pecl库

    一开始就在疑惑为什么会有两个库,且在php.net官方都有文档支持。
    2010-03-03
  • php实现图片添加描边字和马赛克的方法

    php实现图片添加描边字和马赛克的方法

    这篇文章主要介绍了php实现图片添加描边字和马赛克的方法,通过自定义函数imagemask与imagetextouter实现图片添加马赛克与文字描边的效果,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • php函数连续调用实例分析

    php函数连续调用实例分析

    这篇文章主要介绍了php函数连续调用的方法,以简单实例形式分析了php采用链式调用的方式连续调用函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 如何使用脚本模仿登陆过程

    如何使用脚本模仿登陆过程

    如何使用脚本模仿登陆过程...
    2006-11-11
  • php+mysql开发的最简单在线题库(在线做题系统)完整案例

    php+mysql开发的最简单在线题库(在线做题系统)完整案例

    这篇文章主要介绍了php+mysql开发的最简单在线题库(在线做题系统)案例,结合完整实例形式分析了PHP结合MySQL数据库查询、判断实现的在线题库功能相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • PHP使用PDO操作数据库的乱码问题解决方法

    PHP使用PDO操作数据库的乱码问题解决方法

    这篇文章主要介绍了PHP使用PDO操作数据库的乱码问题解决方法,实例分析了编码设置及属性设置解决乱码问题的实现技巧,需要的朋友可以参考下
    2016-04-04
  • PHP使用ob_start生成html页面的方法

    PHP使用ob_start生成html页面的方法

    这篇文章主要介绍了PHP使用ob_start生成html页面的方法,对ob_start的用法做了较为详细的分析,并以实例总结了ob_start生成html页面的实现方法,需要的朋友可以参考下
    2014-11-11
  • 解析smarty 截取字符串函数 truncate的用法介绍

    解析smarty 截取字符串函数 truncate的用法介绍

    本篇文章是对smarty 截取字符串函数 truncate的用法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP扩展Memcache分布式部署方案

    PHP扩展Memcache分布式部署方案

    memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能。服务器端仅包括内存存储功能,其实现非常简单。至于memcached的分布式,则是完全由客户端程序库实现的。这种分布式是memcached的最大特点。
    2015-12-12
  • php文件读取方法实例分析

    php文件读取方法实例分析

    这篇文章主要介绍了php文件读取方法,实例分析了php读取文件行、字符、固定位置等的相关技巧,需要的朋友可以参考下
    2015-06-06

最新评论