ホームページ >バックエンド開発 >PHPチュートリアル >ページジャンプに PHP ヘッダーを使用するときに注意すべきいくつかの問題のまとめ

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

高洛峰
高洛峰オリジナル
2016-12-20 11:09:211334ブラウズ

1. location と「:」の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。
2. ヘッダーを使用する前に出力を行うことはできません。
3. ヘッダー以降の PHP コードも実行されます。
以下は、ASP の response.redirect との比較です。
例 1:
response.redirect "../test.asp"
header("location:../test.php");
2 つの違い:
asp のリダイレクト機能は、ヘッダー ファイルをクライアントに送信した後に機能します。
例:
<%response.redirect "../test .asp "%>

PHP の次のコード例でエラーが報告されるかどうかを確認してください:

header ("location:../test.php");

?>
...
つまり、データはありません例 2:

response.redirect "../a.asp"
response.redirect "../b.asp"


header("location:../b.php");

b.php をリダイレクトしていることがわかりました
ASP でリダイレクトを実行した後、次のコードは実行されないことがわかりました
ヘッダーの実行後、php は引き続き実行します。
この点に関して、php でのヘッダー リダイレクトは、ASP リダイレクトほど優れていません。場合によっては、リダイレクト後に後続のコードを実行できません。
一般的には、
if(...)
header("..." を使用します。 );
else
{
...
}
ただし、次のメソッドを使用することもできます:
if(...)
{ header("...");exit();}
また、if にも注意してください。 Unicode (UTF-8) を使用している場合 エンコード時に問題が発生する場合もあるため、キャッシュ設定を調整する必要があります
<[email=%@]%@LANGUAGE="VBSCRIPT[/email]" CODEPAGE="936"%> ;
<%if Request.ServerVariables(" SERVER_NAME")="s.jb51.net" then
response.redirect "news/index.htm"
<%end if%> ;スクリプト>
var url = location.href;
if(url.indexOf('http://www.php.cn/')!=-1)location.href='/index/index.htm'; if(url.indexOf('http://www.kanshule.com/')!=-1)location.href='/index1/index.htm'
if(url.indexOf('http://www .shoji17.com/')!=-1 )location.href='/cn/index.asp';
if(url.indexOf('http://www.baidu.com/')!=-1) location.href='/cn/index.asp ';





ページジャンプに PHP ヘッダーを使用する際に注意する必要があるいくつかの問題の詳細については、こちらをご覧ください。関連記事については、PHP 中国語 Web サイトに注目してください。

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