Warning: Cannot modify header information

[php] 2024-04-27 圈点752

摘要:Warning: Cannot modify header information

Warning: Cannot modify header information


很显然,造成这个原因是因为setcookie造成的:     

例如: 

1.呼叫setcookie的敘述必須放在<html>标签之前 

2.呼叫setcookie之前,不可使用echo

3.直到網頁被重新載入後,cookie才會在程式中出現 

4.setcookie函数必須在任何資料輸出至浏览器前,就先送出.

5.不能出现空行。


基於上面這些限制,所以執行setcookie()函数时,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,

解決"Cannot modify header information - headers already sent by"这个錯誤的方法是在产生cookie前,先延缓資料输出至浏览器,

因此,您可以在程式的最前方加上ob_start();这个函數。这样就可以解决 了。        

如果要加上ob_start()的话,不大可行,程序都写完了,才来改这个似乎有点郁闷..       

一般提示的时候,还会带有行号,如果行号前面是空白的,然后才是<?php 这样开始,就需要删除,就不会有提示warning   



解决方法二:

查找网上解决此问题的方法多是一样的,不过今天又遇到了这样的问题。试过之后发现可行: 

在C盘的WINDOWS中找到php.ini 这个配置文件,然后查找一项:output_buffering将其值由原来的off改为on,重新启动Apache。

header  

感谢反馈,已提交成功,审核后即会显示