PHPのセッション変数($_SESSION)が作成されない原因と解決方法

PHPプログラミングをしていて、

print_r($_SESSION);

と書くことにより、print_r関数でセッション変数($_SESSION)の値を全て出力しようとしても、何も出力されなくて悩んでしまうことがあった。

セッション変数が作成されない?

セッション変数が消えた?

ひょっとして、プログラムではなく、PHPの設定に問題があるのでは、などと考え、PHPコンフィグファイル(php.ini)の設定や.htaccessの設定を見直したけれども、原因が分からなかった。

しかし、少し落ち着いてプログラムを見ていると、初歩的なミスがあった。

セッション関数「session_start」を実行するための記述

session_start();

をプログラム冒頭で書いていなかった。

これを書いていないと、セッションが開始されない。

プログラム冒頭に

session_start();

と書くことで、無事にセッション変数($_SESSION)が作成されるようになった。

今後、セッション変数が作成されない?消えた?と思うような時は、

プログラム冒頭に

session_start();

を書いているかどうかを確認しようと思った。

  
 

前へ

CentOS 4、5、6、7のサポート期限(2015年2月20日現在)

次へ

広島港(桟橋)から乗車したタクシーに感心し、次からの乗車が楽しみなこと