PHP cookie/session

cookie

  • setcookieの前は何も出力してはいけない( echoやHTMLの記述など )

cookieをセット

setcookie('クッキー名', $値の変数);
$変数1 = $変数2 ?? filter_input(INPUT_COOKIE, 'クッキー名') ?? 'transparent';
  • 変数2に値がなければクッキーの値から入手、それもなければtransparentにしてという意味

cookieを削除

setcookie('クッキー名', '');
  • cookieに空文字を入れることで、cookieの有効期限を過去日時にセットしてくれるため削除される

SESSION

セッションの開始

session_start();

SESSIONに値を代入

$_SESSION['セッション名'] = 値;

変数にSESSIONの値を代入

$変数 = $_SESSION['セッション名'];

SESSIONの削除

unset($_SESSION['セッション名']);

SESSION用のファイルを削除

session_destroy();

セッションID

PHPSESSID

セッションIDの比較はシステム側で自動的に行われる

if (isset($_SESSION['セッション名'])){
  $変数 = $_SESSION['セッション名];
} else {
  $_SESSION['セッション名'] = 値;
}