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

WBOY
リリース: 2016-06-13 12:26:43
オリジナル
731 人が閲覧しました

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

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

<
header("location:../test.php"); >
...
つまり、ヘッダー関数はデータを
例 2:


<%
response.redirect "../ a.asp"
response.redirect "../b.asp"
%>

結果として、a.asp ファイルがリダイレクトされます.
php はどうですか?
header("location:../b.php"); >?>

ASP でリダイレクトを実行すると、後続のコードは実行されないことがわかります。
ヘッダーの実行後、PHP は次のコードを実行し続けます。
この点で、PHP のヘッダーのリダイレクトはあまり適切ではありません。 ASP のリダイレクトとして、リダイレクト後に次のコードを実行できない場合があります。
通常は
if(...)
header("..."); を使用します。 {
...
}
しかし、単純に次のメソッドを使用することもできます:
if(...)
{ header("...");exit();}
Unicode(UTF-8) エンコーディングを使用する場合も問題が発生するため、キャッシュ設定を調整する必要があることにも注意してください。
<[email=%@]%@LANGUAGE="VBSCRIPT[/email] " CODEPAGE="936"%>
< ;%if Request.ServerVariables("SERVER_NAME")="s.jb51.net" then
response.redirect "news/index.htm"
else %>
<%end if%>

var = location.href('http://www.jb51.net /')!=-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.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート