Warning: Cannot modify header information - headers already sent by....
这类语句,造成这个原因是因为setcookie语句的问题。cookie本身在使用上有一些限制,例如:
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();这个函數。这样就可以解决了。

解决方案 »

  1.   

    楼上的正解!有必要的话可以用output buffering系列的函数
      

  2.   

    Warning: Cannot modify header information - headers already sent by (output started at /www/corporate.php(3) : eval()'d code(1) : eval()'d code:1) in /www/corporate.php(3) : eval()'d code(1) : eval()'d code(1) : eval()'d code on line 3————————————————————————————————————
    警告:不能校验头部信息 ,头部信息已经被(....)发送.
    一般是header()造成的,使用之前不能有任何输出!