ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルでヘッダーを使用するための具体的なヒント

PHP_PHP チュートリアルでヘッダーを使用するための具体的なヒント

WBOY
WBOYオリジナル
2016-07-15 13:28:51812ブラウズ

1、location、および「:」記号の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。 2. ヘッダーを使用する前に出力を行うことはできません。 3. PHP でヘッダーを使用した後の PHP コードは引き続き実行されます。

以下は ASP の response.redirect との比較です:

例 1:

response.redirect "../test.asp"

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

2 つの違い:

asp のリダイレクト機能は、ヘッダー ファイルを顧客に送信した後に機能します。

たとえば、

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span></font></strong><span> </span></span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699"><</FONT></STRONG></SPAN><SPAN>%response.redirect "../test.asp"%</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></font></strong></span><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
</ol>

PHP でヘッダーを使用した次のコード例がエラーを報告するかどうかを確認します。

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span></font></strong><span> </span></span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>header</FONT></STRONG></SPAN><SPAN>("location:../test.php");  </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></font></strong></span><span> </span>
</li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
</ol>

唯一の方法はこれです:

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>header</FONT></STRONG></SPAN><SPAN>("location:../test.php");  </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></font></strong></span><span> </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span></font></strong><span>...</span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
</ol>

つまり、データはありませんヘッダー関数を使用する前に顧客に送信できますPHP での例 2:

asp 中

<ol class="dp-xml">
<li class="alt"><span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span></font></strong><span> </span></span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699"><</FONT></STRONG></SPAN><SPAN>%  </SPAN></SPAN><LI class=alt><SPAN>response.redirect "../a.asp"  </SPAN><LI class=""><SPAN>response.redirect "../b.asp"  </SPAN><LI class=alt><SPAN>%</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></font></strong></span><span> </span>
</li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
</ol>
結果は、a.asp ファイルをリダイレクトします。

php ではどうですか?

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><strong><font color="#006699"><?</FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN></SPAN><SPAN class=tag-name><STRONG><FONT color=#006699>header</FONT></STRONG></SPAN><SPAN>("location:../a.php");  </SPAN></SPAN><LI class=alt><SPAN>header("location:../b.php");  </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></font></strong></span><span> </span></span></li>
<li class="alt">
<span></span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></span><span class="tag"><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></span><span class="tag"></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></span></font></strong><span> </span>
</li>
</ol>
それが b.php をリダイレクトすることがわかりました。

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

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

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

<ol class="dp-xml">
<li class="alt"><span><span>if(...)  </span></span></li>
<li class=""><span>header("...");  </span></li>
<li class="alt"><span>else  </span></li>
<li class=""><span>{  </span></li>
<li class="alt"><span>...  </span></li>
<li class=""><span>}  </span></li>
</ol>

ただし、次のメソッドを使用するだけです:

<ol class="dp-xml">
<li class="alt"><span><span>if(...)  </span></span></li>
<li class=""><span>{ header("...");exit();}  </span></li>
</ol>

ご利用の際もご注意くださいUnicode (UTF-8) を使用する場合、PHP のヘッダー エンコードとキャッシュの設定を調整する必要がある場合にも問題が発生することがあります。

りー

http://www.bkjia.com/PHPjc/446416.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/446416.html

技術記事

1、location、および「:」の間にスペースを入れることはできません。スペースを入れないとエラーが発生します。 2. ヘッダーを使用する前に出力を行うことはできません。 3. PHP でヘッダーを使用した後の PHP コードは引き続き実行されます。 以下は...

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