Web制作メモ -トップへ-

[PHP] セッションの保存・取得・削除

PHP2015.02.01 21:12

セッションとはクッキーのサーバー版です。

クッキーがローカルマシン(ブラウザ)に情報を保存するのに対して、セッションはサーバーに情報を保存します。

ただし、サーバーの情報とローカルマシンとの紐づけはクッキーを使っているので、クッキーが使えないとセッションも使えません。

クライアントマシンに情報が残らないのでクッキーよりもセキュリティが高いという特徴があります。

セッションを使うには、まずsession_start()を呼び出します。

セッションは$_SESSIONというスーパーグローバル変数に格納します。

スーパーグローバル変数とは宣言なしでどこでも使える変数です。

session_start()さえしてしまえば、$_SESSIONを使ってセッションの受け渡しをします。

注意点としては、session_start()の前に画面に出力があるとセッションが上手く機能しません。

session_start()はプログラムの最初に済ませておくとよいです。

セッションに格納

session_start();
$_SESSION[DATA] = $data; //セッションに格納

別のページでもセッションを使う使う前にsession_start()をします。

session_start()後、前のページで格納した値を参照できます。

別のページでセッション変数を参照

session_start();
echo $_SESSION[DATA];

セッションの値を削除するにはunset()を使います。

セッションを削除

unset($_SESSION[DATA]);

セッションの値を全て削除するには格納したセッションをすべてuniset()するか、$_SESSIONに空配列を代入します。

$_SESSION自体をunset()するとセッション変数自体が無くなってしまい、セッションに格納できなくなるので注意

セッションをすべて削除

$_SESSION = array();

ブラウザ側でセッションをクリアしたい時は、クッキーを削除します。

クッキーが削除されれば、それまで使っていたセッションが認識できなくなるので、新しいセッションが使われます。