hp直接跳轉頁面的方法:1、通過header()函數實現跳轉;2、通過Meta標簽實現跳轉;3、通過JavaScript實現跳轉。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
php怎么直接跳轉頁面?
PHP跳轉頁面的幾種實現方法
● PHP頁面跳轉一、header()函數
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。
header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。
header()函數的定義如下:
可選參數replace指明是替換前一條類似標頭還是添加一條相同類型的標頭,默認為替換。
第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。
header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。
注意:
1.location和“:”號間不能有空格,否則不會跳轉。
2.在用header前不能有任何的輸出。
3.header后的PHP代碼還會被執行。
代碼如下:
● PHP頁面跳轉二、Meta標簽
Meta標簽是HTML中負責提供文檔元信息的標簽,在PHP程序中使用該標簽,也可以實現頁面跳轉。
若定義http-equiv為refresh,則打開該頁面時將根據content規定的值在一定時間內跳轉到相應頁面。
若設置content="秒數;url=網址",則定義了經過多長時間后頁面跳轉到指定的網址。
代碼如下:
● PHP頁面跳轉三、JavaScript
例如,此代碼可以放在程序中的任何合法位置。
代碼如下:
以上就是我們向大家介紹的三種PHP頁面跳轉實現方法。
時候,我們會希望網頁自動跳轉,應用場景包括:
下面總結下如何在前端頁面中控制跳轉的方法:
利用html的refresh
<meta http-equiv="refresh" content="0;url=index.html">
其中0表示0秒以后跳轉,可以自行設定時間。
利用js的href屬性
window.location.href='index.html';
如果要設定延遲時間,則加上setTimeout
setTimeout("javascript:location.href='index.html'", 5000);
利用js的navigate方式
window.navigate("index.html");
自動刷新頁面
在上述方式中,如果跳轉的頁面就是本頁面,那么就是自動刷新頁面的功能。
或者使用reload
location.reload()
跳轉到上一頁,下一頁的方式
window.history.go(-1);
其中 -1 表示上一頁,如果沒有負號的就是表示下一頁
如果不是1而是 2,3,4......n 則表示前進或者后退 n 頁
后退還可以用
window.history.back();
兩者的區別是:
go(-1):返回上一頁,原頁面表單中的內容會丟失;
back():返回上一頁,原頁表表單中的內容會保留。
前進則對應的是:
history.forward():
此外,還有一個參數 history.length 記錄了頁面前進的序號,如果等于0表示第一頁
怎么選擇
至此,自動跳轉頁面、刷新頁面、前后切換的方法都齊了!方法多了就有了選擇恐懼癥?
基本原則:
單純的頁面跳轉建議就用html的refresh方法,無需js代碼,很簡潔。
如果比較復雜,涉及js代碼的業務功能,再加上跳轉功能的,就用js的各種方法。
此外還要考慮頁面是否刷新的問題,希望刷新就用go,否則用back/forward
eta標簽介紹
meta標簽是HTML語言head區域的一個輔助性標簽,常用于定義頁面的說明,關鍵字,最后修改的日期和其他的元數據。這些元數據將服務于瀏覽器,搜索引擎和其他網絡服務。
meta標簽的組成
meta標簽共有兩個屬性,分別是http-equiv屬性和name屬性。
name屬性
name屬性主要是用于描述網頁,比如網頁的關鍵詞,敘述等。與之對應的屬性值為content,content中的內容是對name填入類型的具體描述,便于搜索引擎抓取。
meta標簽中name屬性語法格式是:
<meta name="參數" content="具體的描述">
其中name屬性共有以下幾種參數。(A-C為常用屬性)
(1) keywords(關鍵字)
說明:用于告訴搜索引擎,你網頁的關鍵字。舉例:
<meta name="keywords" content="PHP中文網">
(2)description(網站內容的描述)
說明:用于告訴搜索引擎,你網站的主要內容。舉例:
<meta name="description" content="php中文網提供大量免費、原創、高清的php視頻教程">
(3)viewport(移動端的窗口)
說明:這個概念較為復雜,具體的會在下篇博文中講述。這個屬性常用于設計移動端網頁。在用bootstrap,AmazeUI等框架時候都有用過viewport。
<meta name="viewport" content="width=device-width, initial-scale=1">
(4) robots(定義搜索引擎爬蟲的索引方式)
說明:robots用來告訴爬蟲哪些頁面需要索引,哪些頁面不需要索引。content的參數有all,none,index,noindex,follow,nofollow。默認是all。
<meta name="robots" content="none">
具體參數如下:
1、none : 搜索引擎將忽略此網頁,等價于noindex,nofollow。
2、noindex : 搜索引擎不索引此網頁。
3、nofollow: 搜索引擎不繼續通過此網頁的鏈接索引搜索其它的網頁。
4、all : 搜索引擎將索引此網頁與繼續通過此網頁的鏈接索引,等價于index,follow。
5、index : 搜索引擎索引此網頁。
6、follow : 搜索引擎繼續通過此網頁的鏈接索引搜索其它的網頁。
(5)author(作者)
說明:用于標注網頁作者舉例:
<meta name="author" content="PHP中文網">
(6) generator(網頁制作軟件)
說明:用于標明網頁是什么軟件做的舉例: (不知道能不能這樣寫):
<meta name="generator" content="Sublime Text3">
(7)copyright(版權)
說明:用于標注版權信息舉例:
<meta name="copyright" content="PHP中文網"> //代表該網站為PHP中文網個人版權所有。
(8)revisit-after(搜索引擎爬蟲重訪時間)
說明:如果頁面不是經常更新,為了減輕搜索引擎爬蟲對服務器帶來的壓力,可以設置一個爬蟲的重訪時間。如果重訪時間過短,爬蟲將按它們定義的默認時間來訪問。舉例:
<meta name="revisit-after" content="7 days" >
(9)renderer(雙核瀏覽器渲染方式)
說明:renderer是為雙核瀏覽器準備的,用于指定雙核瀏覽器默認以何種方式渲染頁面。比如說360瀏覽器。舉例:
<meta name="renderer" content="webkit"> //默認webkit內核
<meta name="renderer" content="ie-comp"> //默認IE兼容模式
<meta name="renderer" content="ie-stand"> //默認IE標準模式
http-equiv屬性
http-equiv顧名思義,相當于HTTP的作用。
meta標簽中http-equiv屬性語法格式是:
<meta http-equiv="參數" content="具體的描述">
其中http-equiv屬性主要有以下幾種參數:
(1) content-Type(設定網頁字符集)(推薦使用HTML5的方式)
說明:用于設定網頁字符集,便于瀏覽器解析與渲染頁面舉例:
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦
<meta charset="utf-8"> //HTML5設定網頁字符集的方式,推薦使用UTF-8
(2)X-UA-Compatible(瀏覽器采取何種版本渲染當前頁面)
說明:用于告知瀏覽器以何種版本來渲染頁面。(一般都設置為最新模式,在各大框架中這個設置也很常見。)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當前頁面
(3) cache-control(指定請求和響應遵循的緩存機制)
說明:指導瀏覽器如何緩存某個響應以及緩存多長時間
<meta http-equiv="cache-control" content="no-cache">
共有以下幾種用法:
no-cache: 先發送請求,與服務器確認該資源是否被更改,如果未被更改,則使用緩存。
no-store: 不允許緩存,每次都要去服務器上,下載完整的響應。(安全措施)
public : 緩存所有響應,但并非必須。因為max-age也可以做到相同效果
private : 只為單個用戶緩存,因此不允許任何中繼進行緩存。(比如說CDN就不允許緩存private的響應)
maxage : 表示當前請求開始,該響應在多久內能被緩存和重用,而不去服務器重新請求。例如:max-age=60表示響應可以再緩存和重用 60 秒。
禁止百度自動轉碼
說明:用于禁止當前頁面在移動端瀏覽時,被百度自動轉碼。雖然百度的本意是好的,但是轉碼效果很多時候卻不盡人意。所以可以在head中加入例子中的那句話,就可以避免百度自動轉碼了。
<meta http-equiv="Cache-Control" content="no-siteapp" />
(4)expires(網頁到期時間)
說明:用于設定網頁的到期時間,過期后網頁必須到服務器上重新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
(5) refresh(自動刷新并指向某頁面)
說明:網頁將在設定的時間內,自動刷新并調向設定的網址。
<meta http-equiv="refresh" content="2;URL=http://www.xxx.com/"> //意思是2秒后跳轉到PHP中文網
(6) Set-Cookie(cookie設定)
說明:如果網頁過期。那么這個網頁存在本地的cookies也會被自動刪除。
<meta http-equiv="Set-Cookie" content="name, date"> //格式
<meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT"> //具體范例
總結:meta標簽的自定義屬性實在太多了。所以只總結了一些常用的,希望對大家有所幫助。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。