ホームページ  >  記事  >  バックエンド開発  >  php header("location: $url") ページジャンプの注意点まとめ

php header("location: $url") ページジャンプの注意点まとめ

伊谢尔伦
伊谢尔伦オリジナル
2017-06-23 14:06:337449ブラウズ

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

1 location の間にスペースを入れることはできません。および「:」 スペースが含まれている場合はエラーが発生します。

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

3. ヘッダーの後の

PHP コード も実行されます。

以下は

asp のリダイレクト request.redirect との比較です:

例 1:

response.redirect"../test.asp"
header("location:../test.php");

2 つの違い:

asp のリダイレクト

関数 は、ヘッダー ファイルを顧客に送信した後に機能します。

たとえば、

<html>
<head>
</head>
<body>
<%response.redirect"../test.asp"%>
</body>
</html>

がチェックされている場合、php の次のコード例はエラーを報告します:

<html>
<head>
</head>
<body>
<?php
header("location:../test.php");
?>
</body>
</html>

唯一の方法は次のとおりです:

<?php
header("location:../test.php");
?>
<html>
<head>
</head>
<body>...
</body>
</html>

つまり、ヘッダー関数の前にデータを顧客に送信することはできません。

例2:

aspで

<html>
<head>
</head>
<body>
<%
response.redirect"../a.asp"
response.redirect"../b.asp"
%>
</body>
</html>

を実行した結果が重い a.aspファイルを直してください

phpはどうでしょうか?

<?php
header("location:../a.php");
header("location:../b.php");
?>
<html>
<head>
</head>
<body>
</body>
</html>

b.phpをリダイレクトしていることが分かりました

実行後asp でリダイレクトすると、後続のコードは実行されません。

そして、php はヘッダーの実行後に続行します

この点で、php でのヘッダーのリダイレクトは、asp でのリダイレクトほど優れていない場合があります。リダイレクト後に次のコードを実行します:

一般的には

if(...)
header("...");
else
{
...
}

を使用しますが、単に次のメソッドを使用することもできます:

if(...)
{header("...");exit();}

また、Unicode (UTF-8) エンコーディングを使用する場合にも問題が発生することに注意してください。

キャッシュ設定を調整します。

以上がphp header("location: $url") ページジャンプの注意点まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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