0

私はもともと、PHPでヘッダーを使用してユーザーをリダイレクトしていました。ただし、私のサーバーでは、HTMLがLocationヘッダーの前にあるため、問題が発生します。さて、スクリプト構造を変更することは私にできることではありません。PHPでリダイレクトする他の方法を使用できます。

これらのオプションを試しましたが、機能しませんでした。

echo "<META HTTP-EQUIV="Refresh" Content="1; URL=index.php">";

一重引用符も使用:

echo <META HTTP-EQUIV="Refresh" Content="1; URL=index.php">;

どちらの方法も機能しませんでした。私に何ができる?

4

5 に答える 5

3

出力バッファリングを有効にできます。出力は完了するまでバッファリングされるため、いつでもヘッダーを設定できます。

ただし、実際には、アプリケーションを修正して、説明どおりにセットアップされないようにする必要があります。できることではないとおっしゃっていますが、アプリケーションロジックとHTMLを混在させている場合は、他にも問題が発生する可能性があります。コードの可読性と再利用性は1つです。

于 2012-09-23T05:16:21.887 に答える
1

出力バッファリングを見てください..基本的ob_start()に、最初の出力の前とob_flush()最後の出力の後に関数を呼び出します。

于 2012-09-23T05:17:24.210 に答える
1

そして、あなたのphpには1つの大きな問題があります。 これを試してください

echo '<META HTTP-EQUIV="Refresh" Content="1; URL=index.php">';

Meta タグ内ですでに二重引用符を使用しているため、エコー文字列の開始と終了には単一引用符を使用する必要があります。これで、Meta タグが正しく機能するようになります。

ヘッダーの使用

header('Location:http://www.mtrix.in');

exit();

その人は、指定されたこの場所にリダイレクトされます。ただし、ヘッダーは一度しか送信できず、通常は出力の前に送信されるため、これは出力の前に送信する必要があり、ヘッダーも送信する必要があります。

次のように出力することもできます

<script> 

window.location='index.php';

</script>

メタタグが機能するはずです

<meta http-equiv="refresh" content="2;url=http://mtrix.in/">

于 2012-09-23T05:56:03.417 に答える
0

HTMLコンテンツを表示したい場合は、しばらくしてから他のページにリダイレクトしてください。以下のメタタグを使用できます。

<meta http-equiv="refresh" content="5;url=http://www.example.com/otherpage">
于 2012-09-23T05:17:57.757 に答える
0

申し訳ありませんが、エコーコードであなたが犯した間違いに気付かなかったので、回答を編集してチェックしてください。今すぐ動作するはずです。

于 2012-09-23T06:12:01.673 に答える