了很久,文件一开始就直接是 header 代码了,没任何输出怎么会说已有 字符输出了呢?后来上网查到别人给的提示,才发现,原来我创建文件的时候是 直接用记事本存储为 UTF8, 原来这样也会出错 ----------------以下是引用他人的建议 -------------------方法一: 在
PHP 里 Cookie 的使用是有一些限制的。 1、使用 setcookie 必须在标签之前 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++ 打开转换一下。(我就是看了这个才解决问题的) 用 PHP 的 ob_start(); 控制您的浏览器 cache 。我另外单独转载了一篇文章关 于用 PHP 的 ob_start();控制您的浏览器 cache 的文章
----------------END --------------------