– セッションとは、通信を開始してから終了するまで
– セッションとはサーバ側にデータを保存する仕組み
### セッションとクッキーの違い
セッションはサーバにデータを保存するのに対し、クッキーはブラウザ側に保存する
ブラウz側に保存されているデータはユーザ側で内容を書き換えられる
セッションに格納する場合はサーバ側にファイルが作成される
セッションIDはクッキーで保存されている
<?php session_start();
PHPSESSIDという値でcookieに保存される
セッション情報の取得
<?php print("セッションIDは".$_COOKIE['PHPSESSID']. ".");
### セッション情報の書き込みと削除
session_start(); print("セッションIDは".$_COOKIE['PHPSESSID']. "."); $_SESSION['username'] = 'sato'; echo 'ユーザ名は'. $_SESSION['username']. '.'; unset($_SESSION['username']); if(!isset($_SESSION['username'])){ echo 'ユーザ名は削除されました'; } else { echo 'ユーザ名は'. $_SESSION['username']. '.'; }
セッションはブラウザを閉じるまで保存
unset($_SESSION[‘username’]); でセッションを削除
セッションIDがブラウザに保存される
通常はランダムのセッションIDを発行する
クッキーは管理したい値をクライアント側で管理するが、セッションはサーバ側で管理する(セッションIDのみクライアント側で管理)
セッションのデフォルト値はphp.iniのsession.cookie_lifetimeに保存されている値
有効期限を上書きできる
session_start([ 'cookie_lifetime' => $300, ]);
なるほど、sessionの値がどこに管理されているかわからんが… なんとなく基礎的なことはわかった