• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:output_bufferingについて)

output_bufferingについて

このQ&Aのポイント
  • phpでログイン認証画面システムを作成しました。
  • ユーザーIDまたは、パスワードを未入力で、「ログイン」ボタンを押したところ、【ユーザーIDが入力されていません。Warning: Cannot modify header information - headers already sent by ~~】と、ユーザーに未入力を促すメッセージ + Warningメッセージが出るという事象が発生しました。
  • output_buffering = Offからoutput_buffering = Onに変更すると【ユーザーIDが入力されていません。】のメッセージ出力のみでWarningメッセージが出なくなりました。output_bufferingは、出力をバッファにためる?ぐらいの認識なのですが、これによる効果のものなのでしょうか。

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>今回使用した3つのphpファイルには、【header関数は使用しておりません】。  headerは使っていなくても、session_startやsetcookieがあれば「同じこと」ですよね(headerがどういう動作をするのかを考えれば自明だと思いますが・・・)。 >なぜWarningメッセージが出なくなったのでしょうか。 output_bufferingはheaderやsetcookie「以外の」出力(つまりhttpレスポンスヘッダでなくhttpレスポンスボディ)をバッファリングするからです。 http://www.php.net/manual/ja/intro.outcontrol.php

kureakai
質問者

お礼

>output_bufferingはheaderやsetcookie「以外の」出力(つまりhttpレスポンスヘッダでなくhttpレスポンスボディ)をバッファリングするからです。 なるほどそういうことですか。 ありがとうございました。

関連するQ&A