在上一節範例的說明中, 筆者已強調header()函數只可用在尚未有任何資料輸出至瀏覽器之前才可呼叫, 否則將會產生錯誤, 因此, 可應用「ob_start()」函數, 讓整個PHP網頁都解譯完畢後, 再將存放在緩衝區裡的資料一併全部地輸出到使用者端瀏覽器:
<body>
<?php
ob_start();
header("Location: message.htm");
?>
</body>
喔喔!上例還是錯了, 因為上例的HTML標籤(<body>)放置在「ob_start();」命令敘述之前, HTML標籤已早一步執行輸出的動作了, 所以, 「ob_start();」命令敘述應該擺在任何HTML標籤或header()函數、echo()、print()函數、printf()函數命令敘述之前, 最簡單的方法就是將「ob_start();」命令敘述放在PHP程式網頁的第一行。

