Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie einen Header-Sprung in PHP

So implementieren Sie einen Header-Sprung in PHP

WJ
WJOriginal
2020-05-29 15:29:065897Durchsuche

So implementieren Sie einen Header-Sprung in PHP

Methoden und Vorsichtsmaßnahmen für die Implementierung von Header-Sprüngen in PHP:

Die Funktion header() ist eine sehr nützliche Methode für Seitensprünge in PHP einfacher Weg. Die Hauptfunktion der Funktion header () besteht darin, den HTTP-Protokollheader (Header) an den Browser auszugeben. Die Funktion

header() ist wie folgt definiert:

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


Der optionale Parameter replace gibt an, ob der vorherige ähnliche Header ersetzt oder ein Header desselben Typs hinzugefügt werden soll (www.php. cn) Header, Standard ist Ersetzung.

Der zweite optionale Parameter http_response_code zwingt den HTTP-Antwortcode auf den angegebenen Wert. Der Header vom Typ Location in der Header-Funktion ist ein spezieller Header-Aufruf, der häufig zum Implementieren von Seitensprüngen verwendet wird. Hinweis:

1. Zwischen Standort und „:“ darf kein Leerzeichen stehen, sonst wird nicht gesprungen.
2. Es kann keine Ausgabe erfolgen, bevor der Header verwendet wird.
3. Der PHP-Code nach dem Header wird ebenfalls ausgeführt. Leiten Sie den Browser beispielsweise auf php.cn um

<?php
 //重定向浏览器
header("Location: https://www.php.cn");
 //确保重定向后,后续代码不会被执行
exit;
?>

1. PHP-Sprungcode in einem Satz:

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

2. PHP-Sprungcode, wenn Urteil:

Kopieren Sie den Code wie folgt:

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

Hinweis: Wenn der Benutzer zc.php besucht, stellen Sie fest, ob ein Cookie vorhanden ist (www.php). cn) dann springen Sie zu register.php. Wenn es nicht existiert, erstellen Sie ein Cookie und springen Sie zu zc.html.

URL-Umleitungsfunktion

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=&#39;Refresh&#39; content=&#39;{$time};URL={$url}&#39;>”;
if ($time != 0)
 $str .= $msg;
 exit($str);
 }
 }

Das Obige kann den 404-Status nicht zurückgeben Der Statuscode 404 wird nach dem Seitenwechsel zurückgegeben. Wir können Folgendes tun:

function getref()
 {
 $url = @$_SERVER[&#39;HTTP_REFERER&#39;];
 if( !empty( $url ) )
 {
 if( !strstr($url ,&#39;jb51.net&#39; ) && !strstr($url,&#39;jb51.net&#39;))
 {
 @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();
 }
 }

Wenn Sie 301 ausführen möchten, ist es fast dasselbe

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

Verwandte Empfehlungen: php Chinesische Website

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Header-Sprung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn