PHPにおける「セッション」は、ユーザーごとの状態を一時的にサーバー側で保持するための仕組みです。HTTPは本来「ステートレス(状態を保持しない)」なプロトコルであるため、ユーザーがページを移動するたびに情報は失われます。セッションを用いることで、ユーザーのログイン状態やカートの中身などの情報を一時的に保持し、連続したやり取りを可能にします。
セッションの基本的な仕組み
-
セッションの開始
この関数をスクリプトの冒頭で呼び出すことで、セッションの利用が開始されます。これにより、PHPは自動的にセッションIDを発行し、クライアント(ブラウザ)にはこのIDがCookieとして保存されます(
PHPSESSIDという名前のCookieが一般的)。 -
セッション変数の使用
セッション変数はスーパーグローバル変数$_SESSIONを通じて利用できます。このようにすれば、
"username"というキーに"yamada"という値が紐づけられ、サーバー上に保存されます。 -
セッション変数の取得
これにより、保存された情報を他のページからも取得できます。
-
セッションの削除
セッションを終了させたい場合は、次の手順を取ります。
セッションの特徴
-
サーバー側にデータが保存される:クライアントにはセッションIDのみが送られるため、機密情報を扱うのに適しています。
-
セッションIDの管理が重要:セキュリティ上、セッションIDの盗用(セッションハイジャック)に注意が必要です。
-
有効期限がある:PHPの設定(
php.ini)でセッションの有効期限(session.gc_maxlifetime)を調整できます。
使用例(ログインシステム)
まとめ
-
セッションは「ユーザーごとの状態を一時的にサーバーに保存」する手段
-
session_start() を用いて開始し、$_SESSION を通じてデータを操作
-
ログイン管理やカート情報の保持に適している
-
クライアントにはセッションIDのみが保存され、情報の安全性が高い
生成日:2025/05/03