ホームページ >バックエンド開発 >PHPの問題 >PHPヘッダーにジャンプする方法

PHPヘッダーにジャンプする方法

藏色散人
藏色散人オリジナル
2022-12-02 09:14:347386ブラウズ

PHP ヘッダーでジャンプを実装する方法: 1. "Header("Location:$url");" 構文を使用してジャンプを実装します; 2. if 判定を使用してジャンプを実装し、そのジャンプ ステートメントは次のようになります。 " if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');"。

PHPヘッダーにジャンプする方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

PHP ヘッダーをジャンプするにはどうすればよいですか?

PHP ヘッダーをページ ジャンプに使用する場合に注意すべきいくつかの問題のまとめ

Use header("location:test.php") in PHP ジャンプするときは次の点に注意してください。初心者がよく遭遇するいくつかの問題を解決するのに役立ちます。

1.header() 関数

header() 関数はページの一部です。 PHP でジャンプする 非常に簡単な方法です。 header() 関数の主な機能は、HTTP プロトコル ヘッダー (ヘッダー) をブラウザに出力することです。

header() 関数は次のように定義されます:

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

オプションのパラメーター replace は、前の同様のヘッダーを置き換えるか、同じタイプのヘッダー (www.jb51.net) を追加するかを指定します。デフォルトは置換です。

2 番目のオプションのパラメータ http_response_code は、HTTP 対応コードを指定された値に強制します。 header 関数の Location タイプ ヘッダーは特別なヘッダー呼び出しであり、ページ ジャンプの実装によく使用されます。注:

1.location と「:」記号の間にスペースを入れることはできません。スペースを入れないとジャンプしません。

2. ヘッダーを使用する前に出力を行うことはできません。

3. ヘッダー以降の PHP コードも実行されます。たとえば、ブラウザを jb51.net

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

1 にリダイレクトします。PHP ジャンプ コードを 1 文で記述します:

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

2、PHP ジャンプ コード if 判定:

コードは次のとおりです。次のように:

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;);

注: zc.php として保存します。ユーザーが zc.php にアクセスすると、Cookie が存在するかどうかが判断され、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=&#39;Refresh&#39; content=&#39;{$time};URL={$url}&#39;>”;
if ($time != 0)
 $str .= $msg;
 exit($str);
 }
 }

上記では 404 ステータスを返すことはできません。ページジャンプ後に 404 ステータスコードが返された場合は、次のようにすればよいです

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();
 }
 }
## 301 を実行したい場合も、ほぼ同じです

<?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);
 }
 ?>

推奨学習: 「

PHP ビデオ チュートリアル

>>

以上がPHPヘッダーにジャンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。