php header頭怎麼實現跳轉

2022-12-02 10:00:41

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

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。

php header頭怎麼實現跳轉?

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程式碼還會被執行。例如,將瀏覽器重定向到jb51.net

<?php 
 //重定向瀏覽器 
header("Location: https://www.jb51.net"); 
 //確保重定向後,後續程式碼不會被執行 
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,如果不存在則建立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狀態,如果是頁面跳轉之後返回404狀態程式碼我們可如下操作

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頭怎麼實現跳轉的詳細內容,更多請關注TW511.COM其它相關文章!