溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php header頭如何實現跳轉

發(fā)布時間:2022-12-02 09:38:16 來源:億速云 閱讀:331 作者:iii 欄目:編程語言

這篇文章主要介紹“php header頭如何實現跳轉”,在日常操作中,相信很多人在php header頭如何實現跳轉問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php header頭如何實現跳轉”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

php header實現跳轉的方法:1、使用“Header("Location:$url");”語法實現跳轉;2、使用if判斷式實現跳轉,其跳轉語句如“if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');”。

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

在PHP中用header("location:test.php")進行跳轉要注意以下幾點,有助于解決一些新手經常遇到的問題

1.header()函數

header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。

header()函數的定義如下:

void header (string string [,bool replace [,int http_response_code]])

可選參數replace指明是替換前一條類似標頭還是添加一條相(www.jb51.net)同類型的標頭,默認為替換。

第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。 header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。注意:

1.location和“:”號間不能有空格,否則不會跳轉。

2.在用header前不能有任何的輸出。

3.header后的PHP代碼還會被執(zhí)行。例如,將瀏覽器重定向到jb51.net

<?php 
 //重定向瀏覽器 
header("Location: https://www.jb51.net"); 
 //確保重定向后,后續(xù)代碼不會被執(zhí)行 
exit;
?>

1、php跳轉代碼一句話式:

<?php 
$url = $_GET['url'];
Header("Location:$url");
?>

2、php跳轉代碼if判斷式:

代碼如下:

if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');//設置cookie長期有效 header('location:zc.html');

注:保存為zc.php,當用戶訪問zc.php時,判斷一個cookie是否存在,如果存(www.jb51.net)在就跳轉到register.php,如果不存在則創(chuàng)建cookie然后跳轉到zc.htmlfrom:https://www.jb51.net/phper/php-cy/62883.htm

URL重定向函數

// URL重定向
function redirect($url, $time=0, $msg=”) {
 //多行URL地址支持
$url = str_replace(array(“n”, “r”), ”, $url);
 if ( empty($msg) )
 $msg = “系統將在{$time}秒之后自動跳轉到{$url}!”;
if (!headers_sent()) {
 // redirect
 if (0 === $time) {
 header(‘Location: ‘ . $url);
 } else {
 header(“refresh:{$time};url={$url}”);
echo($msg);
 }
 exit();
 } else {
 $str = “<meta http-equiv='Refresh' content='{$time};URL={$url}'>”;
if ($time != 0)
 $str .= $msg;
 exit($str);
 }
 }

上面的不能返回404狀態(tài),如果是頁面跳轉之后返回404狀態(tài)代碼我們可如下操作

function getref()
 {
 $url = @$_SERVER['HTTP_REFERER'];
 if( !empty( $url ) )
 {
 if( !strstr($url ,'jb51.net' ) && !strstr($url,'jb51.net'))
 {
 @header("http/1.1 404 not found");
 @header("status: 404 not found");
 include("404.html");//跳轉到某一個頁面,推薦使用這種方法
 exit();
 }
 }
 else
 {
 @header("http/1.1 404 not found");
 @header("status: 404 not found");
 include("404.html");//跳轉到某一個頁面,推薦使用這種方法
 exit();
 }
 }

如果要做301也差不多

<?php 
 $the_host = $_SERVER['HTTP_HOST'];
 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
 if($the_host !== 'www.jb51.net')
 {
  //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  header('HTTP/1.1 301 Moved Permanently');
  header('Location: https://www.jb51.net' . $_SERVER['PHP_SELF'] . $request_uri);
 }
 ?>

到此,關于“php header頭如何實現跳轉”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI