2012-06-19 40 views
0

我們正在尋求在代碼執行後將用戶重定向到不同的頁面,例如。表單驗證,會話超時等。PHP重定向代碼執行的正確用法

配售代碼如下:

header("Location: http://localhost/example/"); exit(); 

顯得無能爲力比出口多()的代碼在正確的點被執行。它不會將頁面重定向到該URL。

我們如何將網頁物理重定向到另一個URL。

+0

在'header'調用之前你有任何輸出(echo,print,some HTML,...)嗎? –

+0

你是否收到任何錯誤?你有錯誤報告嗎? – Sarfraz

+2

通過調用error_reporting(true)打開錯誤報告;和ini_set('display_errors',E_ALL);你應該得到一些錯誤消息,可能是「頭已經發送」 – FatalError

回答

0

如何在執行必要的代碼後使用HTML重定向?

echo '<meta http-equiv="Refresh" content="0;url=http://localhost/example/" />' 
+0

使用這個你沒有解決你的實際問題,因爲Fluffeh建議你在頭之前發送一些輸出。如果你不解決這個問題,它會在將來嘗試設置其他標題時出現。 – MrCode

1

在調用Header()函數之前,您可能在輸出中留有空白。在將任何輸出發送回瀏覽器後,不能調用標題。

如果您可以查看該文件的輸出,則可能會發現在調用Header()之前,腳本中的include或其他內容會創建一些空白。

如果在調用之前無法避免輸出,則可能必須使用javascript來執行重定向。一個JavaScript的Window.Location應該做的伎倆。