0

管理者側から編集できるphpファイルで定義された言語関連の定数があります。コンテンツを編集した後、それを含むページは、phpヘッダー関数を使用して正常にリダイレクトできませんでした。

エラー報告がオフになっているため、警告メッセージは生成されず、フォーム送信後に別のページにリダイレクトする代わりに同じページが更新されます。

どんな助けでも。

4

5 に答える 5

1

上記の答えは正しいです。ヘッダーがすでにフラッシュされているかどうかを確認しますheader_sent

デバッグの場合、間違いがどこにあるかを確認できます。

<?php
if( headers_sent( $in_file, $at_line ) ){
    trigger_error('Cannot write redirect header, output started at '.$at_line.' in '.$in_file, E_USER_ERROR );
}

早期出力の原因となる可能性のある間違いは次のとおりです。

  • <?phpファイルの先頭に前に入力された偶発的なテキスト。
  • ?>ファイルの末尾の後の偶発的なテキスト。(必要ないので省略してください)
  • エラー出力。(特に発生する通知 - Wordpress を使用している場合)
于 2012-10-02T10:17:05.140 に答える
1

リダイレクト ヘッダーを設定しているときに、すでにユーザーのブラウザーに送信されている出力がある可能性があります。

コンテンツの送信後に HTTP ヘッダーを設定しても機能しません。ヘッダーを送信するまで、出力を抑制する必要があります。

于 2012-10-02T10:09:59.683 に答える
0

この問題を解決するには、次の関数を使用します。

ob_start();
于 2012-10-02T10:11:49.403 に答える
0

ヘッダーを JavaScript リダイレクトに置き換えます

echo '<script type="text/javascript">window.location="membre.php";</script>';
于 2012-10-02T10:21:54.443 に答える
0

あなたのファイルのエンコーディングは「UTF-8」ですか?おそらく、テキスト エディターが UTF-8 ファイルに BOM レコードを追加したのでしょう。そして、PHP ヘッダー関数がクラッシュしました。UTF-8 エンコーディングを使用する場合は、ファイルを「UTF-8 without BOM」として保存する必要があります。

于 2012-10-02T10:44:29.993 に答える