header("Location: http://www.google.com/")重新導向應該是目前網頁所執行的最後一項動作,所以此灀之後,通常會跟隨著一行用以結束程式執行的exit()敘述。
要特別留意,呼叫header()函數的動作,需在任何資料輸出至瀏覽器前進行,不論是HTML程式碼甚至是空白字元。若是header()函數敘述前,含有任何echo()、print()敘述或是空行(PHP標籤外)等內容,或是載入了包含這些內容的included file,將會出現以下錯誤訊息。
Warning:Cannot add header information - headers already sent bby (output started at phpmysql/header.inc:6) in phpmysql/header.php on line 6避免錯誤發生,可使用headers_sent()函數來檢查是否已有資料輸出至瀏覽器。
if(!headers_sent()){TIPS
header("Location: http://www.google.com/");
exit();
} else {
echo 'Wanted to redirect you but I could not do it!';
}
- header()函數也可應用於由PHP程式產生PDF檔、圖檔或其他非HTML的文件類型。
- 建議於header()函數中使用完整的URL網址http://domain/index.php 。
-延伸閱讀 -
http://php.net/manual/en/function.header.php
http://www.w3.org/Protocols/
沒有留言:
張貼留言