• ベストアンサー

PHPでのリダイレクト

PHPでウェブアプリを作成しています。 PHPでのリダイレクト方法として、 header("Location: xxxxx.php"); を使うことが多いのですが、HTML出力のあとで使おうとすると、 「Warning: Cannot modify header information - headers already sent by (~」というPHPエラーが発生します。 HTML出力前にリダイレクトができればいいのですが、 HTMLをかいたあとに、PHP処理をさせている処理構造上、header関数以外でリダイレクトする方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

HTMLを書いていると言う事は、クライアントに対して既にデータを返しているのでヘッダーを後から書き換える事が出来ませんし、データを返しているにも関わらずリダイレクトしようとするのは処理として矛盾しているので、プログラムの構造を見直す事をお勧めします。 とりあえず現状で対応するとしたら。php.iniの設定を output_buffering = On にすると解決するでしょう。

hide_momiji
質問者

お礼

ありがとうございます。 処理構造を見直しをすることにしました。

関連するQ&A