古詩詞大全網 - 成語查詢 - PHP Header用於頁面跳轉要註意的幾個問題總結

PHP Header用於頁面跳轉要註意的幾個問題總結

在PHP中用header("location:test.php")進行跳轉要註意以下幾點,有助於解決壹些新手經常遇到的問題

1、location和“:”號間不能有空格,否則會出錯。

2、在用header前不能有任何的輸出。

3、header後的PHP代碼還會被執行。

下面是和asp中重定向response.redirect的比較:

例1:

response.redirect "../test.asp"

header("location:../test.php");

兩者區別:

asp的redirect函數可以在向客戶發送頭文件後起作用.

<html><head></head><body>

<%response.redirect "../test.asp"%>

</body></html>

查是php中下例代碼會報錯:

<html><head></head><body>

<?

header("location:../test.php");

>

</body></html>

只能這樣:

<?

header("location:../test.php");

>

<html><head></head><body>...</body></html>

即header函數之前不能向客戶發送任何數據.

例2:

asp中

<html><head></head><body>

<%

response.redirect "../a.asp"

response.redirect "../b.asp"

%>

</body></html>

結果是重定向a.asp文件.

php呢?

<?

header("location:../a.php");

header("location:../b.php");

>

<html><head></head><body></body></html>

我們發現它重定向b.php.

原來在asp中執行redirect後不會再執行後面的代碼.

而php在執行header後,繼續執行下面的代碼.

在這方面上php中的header重定向不如asp中的重定向.有時我們要重定向後,不能執行後面的代碼:

壹般地我們用

if(...)

header("...");

else

{

...

}