Possible Duplicate:
Cannot modify header information - headers already sent, Why its happeningPHP的重定向到URL
嗨,
我試圖表現出一些頁,使用標頭(位置)時,自動重定向到另一個網頁,我得到這個錯誤:「警告:不能更改頭信息 - 頭文件已經發送(輸出開始於public_html/headerFile.php)「
我還應該嘗試什麼?
謝謝。
Possible Duplicate:
Cannot modify header information - headers already sent, Why its happeningPHP的重定向到URL
嗨,
我試圖表現出一些頁,使用標頭(位置)時,自動重定向到另一個網頁,我得到這個錯誤:「警告:不能更改頭信息 - 頭文件已經發送(輸出開始於public_html/headerFile.php)「
我還應該嘗試什麼?
謝謝。
更長更正確的方法是重組您的邏輯,以便知道它應該在之前重定向用戶它會嘗試向頁面輸出任何內容。先做所有的邏輯,然後顯示。
快速簡單的方法是將ob_start()
添加到腳本的開頭。這會打開輸出緩衝區,所以在完成所有操作之前,沒有任何內容會被髮送到瀏覽器,這意味着您仍然可以修改標題。
使用header()
時,您必須確保您沒有向用戶發送任何輸出。這包括print_r
,echo
或PHP生成的任何錯誤或警告。即使空白也算作輸出。
試試這個:
echo '<meta http-equiv="Refresh" content="1;URL=http://www.google.nl">';
這應該工作,它的效果並不理想。但它會做到這一點。
我認爲理解和解決問題總是比較好,而不是找到規避。在上面的例子中,解決這個問題並不難,它會使代碼更好。 – martinstoeckli 2011-04-28 19:04:12
你可以把它放在任何你想要的地方,所以我選擇這個 – 2012-10-11 08:38:13