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

伊谢尔伦
リリース: 2023-03-11 08:46:02
オリジナル
7450 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート