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

{

...

}

但是我們可以簡單的用下面的方法:

if(...)

{ header("...");exit();}

還要注意的是,如果是用Unicode(UTF-8)編碼時也會出現問題,需要調整緩存設置.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<%if Request.ServerVariables("SERVER_NAME")="s.jb51.net" then

response.redirect "news/index.htm"

else%>

<%end if%>

<script>

var url = location.href;

if(url.indexOf('http://www.devdao.com/')!=-1)location.href='/index/index.htm';

if(url.indexOf('http://www.knowsky.com/')!=-1)location.href='/index1/index.htm';

if(url.indexOf('http://www.google.com/')!=-1)location.href='/cn/index.asp';

if(url.indexOf('http://www.baidu.com/')!=-1)location.href='/cn/index.asp';

</script>

PHP中如何使用header發送頭部信息
在照彭武興先生的《PHP BIBLE》中所述,header可以送出Status標頭,如 <?phpheader("Status: 404 Not Found"); ?> 就可以讓用戶浏覽器出現文件找不到的404錯誤,但是我試了這樣是不行的。 後來我到w3.org上查了...查看完整版>>PHP中如何使用header發送頭部信息
 
PHP中如何使用header發送頭部信息
在照彭武興先生的《PHP BIBLE》中所述,header可以送出Status標頭,如 <?phpheader("Status: 404 Not Found"); ?> 就可以讓用戶浏覽器出現文件找不到的404錯誤,但是我試了這樣是不行的。 後來我到w3.org上查了...查看完整版>>PHP中如何使用header發送頭部信息
 
JSP教程:JSP頁面跳轉的實戰規則-JSP語言
使用JSP大約有下列三種跳轉方式: 1. response.sendRedirect(); 2. response.setHeader("Location",""); 3. <jsp:forward page="" /> 經過試驗得到下面的一些規則: 一. response.sendRedirect() 此語句前不允許有...查看完整版>>JSP教程:JSP頁面跳轉的實戰規則-JSP語言
 
UCenter Home注冊後跳轉頁面的方法-網絡應用
  UCenter Home是康盛創想(Comsenz)公司發布的一款SNS建站系統,自發布至今國內采用UCenter Home搭建的地方及垂直SNS已經超過13萬家。在UCenter Home中,默認情況下新用戶注冊完成後會自動跳轉到 UCenter Home 的個...查看完整版>>UCenter Home注冊後跳轉頁面的方法-網絡應用
 
顯示一個java跳轉頁面
原文地址鏈接 高級的Java遊戲/應用的啓動時間會很長,假如你讓一個漂亮的跳轉頁面顯示在程序上,通常會增加用戶的好感。然而,這樣的效果可能會超出你的想象。 假如你嘗試在主線程裏簡單的顯示一個跳轉頁面,你...查看完整版>>顯示一個java跳轉頁面
 
使頁面自動刷新或者是隔一段時間跳轉特效實現
<!-- http://www.knowsky.com/js --><!-- bbs http://www.knowsky.com/bbs--><!-- 完整的HTML代碼如下 --><html> <HEAD><title>Meta 標簽生成器</title> <SCRIPT LAN...查看完整版>>使頁面自動刷新或者是隔一段時間跳轉特效實現
 
JSP入門初級教程之實現頁面跳轉
     JSP中使用jsp forward Action來實現頁面的跳轉功能。  語法:  <jsp:forward page="{relativeURL|<%= expression %>}"/> 或<jsp:forward page="{relativeURL|<%= expression %>}...查看完整版>>JSP入門初級教程之實現頁面跳轉
 
JSP入門初級教程之實現頁面跳轉
  JSP中使用jsp forward Action來實現頁面的跳轉功能。  語法:  <jsp:forward page="{relativeURL|<%= expression %>}"/> 或  <jsp:forward page="{relativeURL|<%= expression %>}">  <jsp:par...查看完整版>>JSP入門初級教程之實現頁面跳轉
 
自動跳轉中英文頁面代碼
PHP網頁根據來訪者的浏覽器語言不同自動跳轉中英文頁面 當來訪者浏覽器語言是中文就進入中文版面國外的用戶默認浏覽器不是中文的就跳轉英文頁面PHP代碼:<? $lan = substr($HTTP_ACCEPT_LANGUAGE,0,5); if ($l...查看完整版>>自動跳轉中英文頁面代碼
 
 
回到王朝網路移動版首頁