• ベストアンサー

「セッション開始前の条件判定」の必要性について

あるサンプルに下記のような記述がありました。 if( !isset($_SESSION) ) {  session_start(); } この条件判定は、必要なのでしょうか? 1.必要 2.不要 3.どちらでもよい(あってもなくてもよい) 4.ケースバイケース(使われる状況によって異なる) 例えば、既にセッションを開始している箇所で、 条件判定を記述せずに、 session_start();したときは、 どういう挙動になるのでしょうか?

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

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

必要です。 すでにセッション開始している状態でsession_start()するとエラーになりますから、複数の(incluideされる)ファイルで書いているようなケースであれば必須ですね。 あちこちでセッションの確認をして開始しないといけない状態(チェックして開始させる)のは作りが悪いとも言えますが、ライブラリなどで「どう呼ばれるかわからない」ことはありますから。 #当然、確実に「ここでは開始していない(開始していたらおかしい)」ケースでは #省きます(メインスクリプトの先頭で実行するケースなど)。

re999
質問者

お礼

回答ありがとうございました。 参考になりましたー

関連するQ&A