ホームページ >バックエンド開発 >PHPの問題 >phpヘッダーからページにジャンプするときの注意点は何でしょうか?

phpヘッダーからページにジャンプするときの注意点は何でしょうか?

coldplay.xixi
coldplay.xixiオリジナル
2020-09-30 10:04:443030ブラウズ

php ヘッダー ジャンプ ページでは、次の点に注意する必要があります: 1. location と ":" の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。 2. ヘッダーを使用する前に出力を行うことはできません。 3. ヘッダーの後に PHP コードも実行されます。

phpヘッダーからページにジャンプするときの注意点は何でしょうか?

header("location:test.php") を使用して PHP にジャンプする場合は、次の点に注意してください。初心者向けの問題 よく発生する問題

#1. location と ":" 記号の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。

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

3. ヘッダー以降の PHP コードも実行されます。

以下は、ASP のリダイレクト response.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>
<?
header("location:../test.php");
?>
</body></html>

これが唯一の方法です :

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

つまり、ヘッダー関数はそれ以前はクライアントにデータを送信できません。

例 2:

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

asp では a.asp がリダイレクトされます。ファイルはどこにありますか。

php?

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

b.php にリダイレクトされていることがわかりました。

It asp でリダイレクトを実行した後、後続のコードは実行されないことがわかりました。

ヘッダーを実行した後、php は次のコードを実行し続けます。

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

通常、

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

を使用しますが、単純に次のメソッドを使用できます:

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

また、Unicode (UTF-8) を使用する場合は、コーディング時に問題が発生する可能性があるため、キャッシュ設定を調整する必要があることにも注意してください。

php training
列に注目してください。

以上がphpヘッダーからページにジャンプするときの注意点は何でしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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