クッキーの削除
Home >> PHP実践リファレンス >> クッキー処理 >> クッキーの削除

クッキーの削除

クッキーの削除

クッキーを削除する最も簡単な方法は、setcookie()に第1引数(クッキー名)のみを指定する方法です。

クッキー削除サンプル:クッキー名のみ指定

setcookie('クッキー名');

上記のようにする事でクッキーを削除する事ができます。

もう1つの方法に、setcookie()の第3引数(有効期限)に負の値、つまり、-(マイナス)の数値を指定して有効期限を過去に設定する方法があります。

クッキー削除サンプル:有効期限を過去に指定

setcookie('クッキー名', '', time() - 60); // 1分前

クッキー削除サンプル

以下が実際のクッキー削除のサンプルです。通常の訪問回数カウンターですが、3回目以上のアクセスは数えないような仕組みになっています。今回は、カウント値が3以上ならクッキーを削除します。クッキーは有効期限なしのクッキーを使用していますので、ブラウザを閉じたら自動的に破棄されます。

訪問回数カウンター:一定数以上でカウント値を戻す

<?php
// 訪問回数カウント用の変数$visitにカウント値を格納
if( isset($_COOKIE['visitcount']) ){ // クッキーがあればその値がカウント値
  
$visit = $_COOKIE['visitcount'] + 1; // カウント値+1;
} else{ // クッキーがなければ初回訪問としてカウント値は1
  
$visit = 1;
}

// 3回目以上のアクセスでクッキー削除
if ($visit >= 3) {
  
setcookie('visitcount', $visit, time() - 3600);
} else {
  
setcookie('visitcount', $visit);
}
echo
'$visitの値:' . $visit;
?>

出力結果

$visitの値:1

更新ボタンを押して訪問回数を増やして行くと分かりますが、カウント値が3まで上がったらクッキーを削除しているので値が1に戻ります。