0

ヘッダー関数を使用してページを変更しようとしましたが、何らかの理由で機能しませんでした。ob_start() の結果をエコーし​​たところ、1 が表示されました。コードはあまりありませんが、次のとおりです。

<?php 
ob_start();
header('Location: http://www.google.com');

?>

それは単に1を示しています

もう1つ、これはvardumpを使用したob_status出力です

array(5) { ["level"]=> int(1) ["type"]=> int(1) ["status"]=> int(0) ["name"]=> string(22) "default output handler" ["del"]=> bool(true) }

提案?

編集: 最初は start_ob() の前にエコー呼び出しがありました

4

2 に答える 2

3

より前に出力を開始しましheader()た。1(実際)、機能true抑制効果を示した。header()そこから削除echoします。

php.netから:

実際の出力が送信される前に、通常の HTML タグ、ファイル内の空白行、または PHP から header() を呼び出す必要があることに注意してください。

補足として:

  1. セクション マーカーの前後の空白行をすべて削除してみてください。理由かもしれません。
  2. 出力の前に header() 呼び出しを配置し​​てみてください。
于 2013-09-17T08:22:55.567 に答える
1

echoヘッダーを送信する前に作成します。そんなことはできません。コンテンツの送信後にヘッダーを変更することはできません。

これecho1on_start()関数がブール値trueまたはを返すためfalseです。

この行を削除しても、まだ機能しないとあなたは言います。コンテンツを先に送信していませんか?スペースでも?エラー表示を有効にしていますか? お知らせも含め。

于 2013-09-17T08:24:08.513 に答える