セッションの開始

セッションの開始

セッションの開始はsession_start()関数でおこなわれます。

session_start();

session_start関数は、初めてのアクセスかどうかを判定して、 初めてのアクセスの場合はセッションIDを生成します。 ・セッションを使用するページで宣言します。 プログラムに対して「これからセッションを使います」という心の準備をさせてあげます。
・コード上はHTML出力前に置きます。

session_start();
$_SESSION['name']="岡田";

セッション変数が設定されているかチェック

if (isset($_SESSION['name'])){echo "設定されています";}

セッションID

セッションIDは32桁の数字です。 セッションIDはHTTPヘッダーのクッキー情報としてクライアントに返されます。

$_SESSION

セッション用のスーパーグローバル変数です。 session_start()を実行すると、セッションIDが生成されます。さらに、 セッションにアクセスするための連想配列$_SESSIONが生成されます。

$_SESSION["キー"] = 代入する値 ;

・配列データも代入可能です。
・$_SESSION のデータはブラウザを閉じるまで有効です。ブラウザを開いたままでも  php.iniで設定したセッションタイムアウト時間になると無効化されます。
・「セッション変数」と呼ばれます。

セッションの継続

クッキー情報が送信されてくる

クライアント側に保存されていたクッキー情報がHTTPヘッダーの一部として送信されてきます。

セッション情報の復元

受けとったクッキー情報にセッションIDが含まれている場合、session_start()関数は セッションIDをもとに前回保管しておいたセッション用のファイルからセッション情報を $_SESSIONに復元します。

セッションの削除

セッション変数の値の削除

セッション変数からあるキーと値を削除する場合は、session_unregister()を使います。

session_unregister(キー);

セッション変数の値の削除

セッション変数からあるキーと値を削除する場合は、unset()を使います。

unset($_SESSION['name']);

セッション変数の削除

セッション変数からキーと値をすべて削除する場合は、session_unset()を使います。

session_unset();

セッションの削除

セッションを削除する場合は、session_destroy()を使います。セッションの有効期間 中であってもセッションIDと値を削除します。

session_destroy();

セッションの有効期間

セッションの有効期間

セッションの有効期間はディフォルトでは180分です。php.iniのsession.cache_expireに設定されています。 有効期間を変更する場合は、session_cache_expire()関数を使用します。次の例では、セッションの有効期間を60分に設定しています。

session_cache_expire(60);

セッションファイルの保存先

プログラム実行が終わる時に、$_SESSIONに格納したデータはサーバー側のセッション用のファイルに保存されます。 その保存先はphp.iniのsession.save_pathsession_save_path()関数で指定できます。

セッションファイルの保存先を指定する

セッションファイルの保存先はphp.iniのsession.save_pathで指定できます。

セッションファイルの保存先を指定する関数

プログラムで指定する場合、セッションファイルの保存先はsession_save_path()関数を利用します。

session_save_path($DIR);

セッションIDの継続

セッションIDの継続にクッキーを使わないようにする

セッションIDの継続にクッキーを使わないようにするにはphp.iniの「seession.use_cookies」を「0」に設定します。

セッションIDの継続にクッキーのみ使用するようにする

セッションIDの継続にクッキーのみ使用するようにするにはphp.iniの「seession.use_only_cookies」を「1」に設定します。

セッションIDの継続にSIDを使用するようにする

php.iniの「seession.use_trans_sid」に設定します。

セッション利用の流れ(まとめ)

セッション利用の流れをまとめます。

セッション


セッションに関するそのほかのページ

セッション詳細

セッション詳細