首頁 >後端開發 >php教程 >PHP Header用於頁面跳躍要注意的幾個問題總結

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

高洛峰
高洛峰原創
2016-12-20 11:09:211334瀏覽

1、location和「:」號間不能有空格,否則會出錯。 
2、用header前不能有任何的輸出。 
3、header後的PHP程式碼還會執行。
下面是和asp中重定向response.redirect的比較: 
例1: 
response.redirect "../test.asp" 
header("location:../test.php"); 
兩者差異:header("location:../test.php"); 
兩者差異:header("location:../test.php"); 
兩者差異:header("location:../test.php"); 
兩者差異:header("location:../test.php"); 
兩者差異:header("location:../test.php"); 
兩者差異:
asp的redirect函數可以在寄送頭檔給客戶. 
如 

 
 
 
查是php中下例程式碼會報錯: 
 
 
header("location:../test.php");
?> 
 
只能這樣: 
 
header("location:../test.php"); 
?> 
... 
即header函數之前不能傳送任何資料給客戶. 
例2: 
asp中 
 
 
response.redirect "../a.asp" 
response.redirect "../b.asp" 
%> 
 
結果是重新導向a.asp檔. 
php? 
 
header("location:../a.php"); 
header("location:../b.php"); 
?> 
 
我們發現它重定向b.php. 
原來在asp中執行redirect後不會再執行後面的程式碼. 
而php在執行header後,繼續執行下面的程式碼. 
在這方面上php中的header重定向不如asp中的重定向.有時我們要重定向後,不能執行後面的程式碼: 
一般地我們用 
if(...) 
header("...");
else 

... 

但是我們可以簡單的用下面的方法: 
if(...) 
{ header("...");exit();} 
還要注意的是
還要注意的是,如果是Unicode(UTF-8)編碼時也會出現問題,需要調整快取設定. 
 
response.redirect "news/index.htm" 
else%>  .href; 

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

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

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

🎜🎜🎜🎜🎜更多PHP Header用於頁面跳轉要注意的幾個問題總結相關文章請關注PHP網中文! 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn