PHP頁面跳轉實現的功能就是將網站中一個網頁跳轉到另一個網頁中。對於剛剛學習PHP語言的朋友來說,是必須要掌握的基礎方法。
頁面跳轉可能是由於用戶單擊鏈接、按鈕等觸發的,也可能是系統自動產生的。頁面自動跳轉在WEB開發中經常用到,而且根據需求可以采用不同的跳轉方式,比如提示操作信息后延時跳轉等, 本文總結了WEB開發中常見的幾種頁面跳轉方法。
PHP header()函數跳轉
PHP的header()函數非常強大,其中在頁面url跳轉方面也調用簡單,使用header()直接跳轉到指定url頁面,這時頁面跳轉是302重定向:
1
2
|
header(
"Location: $url"
);
|
我們有可能會遇到特殊的跳轉時,比如網站改版有個頁面地址要做301重定向,當然你可以通過web配置rewrite來實現,但現在我要告訴大家,可以使用php的header()函數做301跳轉,代碼如下:
1
2
3
|
//301跳轉
header(
"HTTP/1.1 301 Moved Permanently"
);
header(
"Location: $url"
);
|
Meta設置跳轉
html中的meta信息里可以直接設置跳轉,可以設置跳轉延遲時間和跳轉url,經常應用,比如支付完了告訴用戶支付成功並跳轉到訂單頁面,代碼非常簡單,就在<head>中加上一句:
1
|
|
以上代碼表示在5秒鍾后頁面會自動跳轉到http://www.jb51.net。
Javascript跳轉
Javascript跳轉也非常簡單,直接一句話:
1
2
3
|
注意,上面這段代碼直接跳轉后,在目標頁面地址中是獲取不到來路(referer,也叫來源)的,在實際項目中,遇到有客戶要求跳轉要帶來路(即目標網頁可以獲取到頁面從哪里跳轉來的),這時,我們可以用javascript模擬一次點擊,然后跳轉就滿足了客戶的需求。
1
2
3
4
5
6
7
8
|
<script>
//有來路
var
aa = document.createElement(
"a"
);
var
bodys=document.getElementsByTagName(
"body"
)[0];
bodys.appendChild(aa);
aa.click();
</script>
|
當然,實際開發中我們可以把后面兩種方式整合到PHP中去,便於適用各種跳轉需求。