Web系統中,從一個網頁跳轉到另一個網頁,是LAMP項目中最常用的技術之一。頁面跳轉可能是由於使用者單擊連結、按鈕等引發的,也可能是系統自動產生的。此處介紹PHP中常用的實現頁面自動跳轉的方法。
PHP頁面跳轉一、header()函數
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標題(header)輸出到瀏覽器。
header()函數的定義如下:
void header (string string [,bool replace [,inthttp_response_code]])
選擇性參數replace指明是替換前一條類似標題還是添加一條相同類型的標題,預設為替換。
第二個選擇性參數http_response_code強制將HTTP相應代碼設為指定值。header函數中Location類型的標題是一種特殊的header調用,常用來實現頁面跳轉。注意:1.location和“:”號間不能有空格,否則不會跳轉。
2.在用header前不能有任何的輸出。
3.header後的PHP代碼還會被執行。例如,將瀏覽器重新導向到lamp兄弟連官方論壇
| 1 2 3 4 5 6 |
< ?php //重新導向瀏覽器 header( "Location: http://bbs.lampbrother.net" ); //確保重新導向後,後續代碼不會被執行 exit ; ?> |
PHP頁面跳轉二、Meta標籤
Meta標籤是HTML中負責提供文檔元資訊的標籤
| 1 2 3 4 5 6 |
< ?php $url = "http://bbs.lampbrother.net" ; echo "" ; ?> |
,在PHP程式中使用該標籤,也可以實現頁面跳轉。若定義http-equiv為refresh,則開啟該頁面時將根據content規定的值在一定時間內跳轉到相應頁面。
若設定content="秒數;url=網址",則定義了經過多長時間後頁面跳轉到指定的網址。例如,使用meta標籤實現疫苗後頁面自動跳轉到LAMP兄弟連官方論壇。
| 1 |
< meta http-equiv = "refresh" content = "1;url=http://bbs.lampbrother.net" > |
例如,以下程式meta.php實現在該頁面中停留一秒後頁面自動跳轉到bbs.lampbrother.net。
| 1 2 3 4 5 6 7 8 9 |
< html > < head > < meta http-equiv = "refresh" content="1;url=< ?php echo $url; ?>"> < body > 頁面只停留一秒…… |
PHP頁面跳轉三、JavaScript
例如,此代碼可以放在程式中的任何合法位置。
| 1 2 3 4 5 6 |
$url = "http://bbs.lampbrother.net" ; echo "" ; ?> |
echo ‘aaaa’;