ご存知のとおり、PHP Web サイトにジャンプするには、JS、HTML META Refresh、および PHP header("location: $url") の 3 つの方法があります。ただし、ここにはエラーにつながりやすい非常に小さな詳細があります。
Header("location:test.PHP") は、次の 3 つの点に加えて、次の点に注意する必要があります。
1. location と " の間にスペースを入れることはできません。 :" 記号が付いていないとエラーが発生します。
2. ヘッダーを使用する前に出力を行うことはできません。
3. ヘッダーの後のphpコードも実行されます。
前提として、エディタはUTF-8形式ではなく、UTF-8 BOMフリー形式で書かれていることが前提となります。覚えて!
一度ジャンププログラムを作ったのですが、この点を無視してしまい、実際にジャンプが失敗してしまいました。
プログラムの全ソースコードは以下の通り、プログラムアドレス:http://www.***.com/go.php
<?php error_reporting(7); $url = urldecode( trim($_REQUEST['url'])); if($url) { header("Location: $url"); } else { exit('Error Input,<a href="http://www.***.com/?f=go.php">go back</a>'); }
アクセスアドレス:http://www.***の場合.com/go.php? url=http%3A%2F%2Fwww.zbphp.com%2F の場合、Firefox ブラウザは正常です。その後、このジャンプ プログラムを会社の別の Web サイトにコピーし、QQ 上の何人かの友人にテストしてもらいました。その結果、多くの人がこのプログラムを開くことができないと言いました。IE ベースのブラウザでは、アクセスできない、またはアクセスできないというメッセージが直接表示されました。が見つからず、Chrome で時々プロンプトが表示されます。 Firefox でテストすると、見つからないというプロンプトが表示されることがありますが、もう一度更新すると正常に表示されます。
コードをよく確認してください、問題ありません。それに、Firefox はジャンプできるので、過去に読んだことを思い出しました: IE ブラウザ 出力コンテンツのバイトが小さすぎる (512 バイト未満) 場合、無視されます。その後、すべてのブラウザがテストに合格する前に、ソース コードがヘッダーの場所から js HTML に変更され、Firefox のクリック プロンプト xxx サーバーが見つかりません が再度表示されなくなりました。go.php の完全なソース コードは次のとおりです。 を使うのが一番良いと思います。 HTML META を使用すると、 JS が無効になっている場合でも訪問者がジャンプできるようにすることができます 。 以上がPHPプログラムのヘッダ位置ジャンプの注意事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。<?php
error_reporting(7);
function gheader($url)
{
echo '<html><head><meta http-equiv="Content-Language" content="zh-CN">
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312"><meta http-equiv="refresh"
content="0;url='.$url.'"><title>loading ... </title></head><body><p style="display:none">
<script type="text/javascript">
var cnzz_protocol = (("https:" == document.location.protocol)?"https://":"http://");
document.write(unescape("%3Cspan id=\'cnzz_stat_icon_5696423\'%3E%3C/span%3E%3Cscript src=\'" + cnzz_protocol + "s9.m.sbmmt.com/stat.php%3Fid%3D5696423%26show%3Dpic1\' type=\'text/javascript\'%3E%3C/script%3E"));</script></p>
<script>window.location="'.$url.'";</script></body></html>';
exit();
}
$url = urldecode( trim($_REQUEST['url']));
if($url)
{
gheader($url);
} else {
exit('Error Input,<a href="http://www.***.com/?f=go.php">go back</a>');
}