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

2015-01-24信息快讯网

本篇对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程序报date()警告的处理(date_default_timezone_set)
PHP中include与require使用方法区别详解
PHP关于IE下的iframe跨域导致session丢失问题解决方法
php mysql_real_escape_string函数用法与实例教程
php中利用str_pad函数生成数字递增形式的产品编号
PHP CURL CURLOPT参数说明(curl_setopt)
PHP swfupload图片上传的实例代码
从PHP $_SERVER相关参数判断是否支持Rewrite模块
ThinkPHP利用PHPMailer实现邮件发送实现代码
遭遇php的in_array低性能问题
PHP Session 变量的使用方法详解与实例代码
分享PHP header函数使用教程
怎么在Windows系统中搭建php环境
phpmyadmin config.inc.php配置示例
完美解决PHP中的Cannot modify header information 问题
浅析HTTP消息头网页缓存控制以及header常用指令介绍
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
浅析php header 跳转
Apache服务器无法使用的解决方法
PHP 登录记住密码实现思路
深入phpMyAdmin的安装与配置的详细步骤
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
解决phpmyadmin中缺少mysqli扩展问题的方法
PHP5中Cookie与 Session使用详解
php中is_null,empty,isset,unset 的区别详细介绍
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
phpcms模块开发之swfupload的使用介绍
php中get_headers函数的作用及用法的详细介绍
使用php get_headers 判断URL是否有效的解决办法
php中serialize序列化与json性能测试的示例分析
php 模拟get_headers函数的代码示例
input file获得文件根目录简单实现
Eclipse中php插件安装及Xdebug配置的使用详解
PHP header()函数使用详细(301、404等错误设置)
PHP中header和session_start前不能有输出原因分析
©2014-2024 dbsqp.com