クッキーの削除
そふぃのPHP入門 >> PHP実践リファレンス >> クッキー処理 >> クッキーの削除

クッキーの削除

クッキーの削除

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

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

  1. setcookie('クッキー名');

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

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

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

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

クッキー削除サンプル

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

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

  1. <?php
  2. // 訪問回数カウント用の変数$visitにカウント値を格納
  3. if( isset($_COOKIE['visitcount']) ){ // クッキーがあればその値がカウント値
  4.   $visit = $_COOKIE['visitcount'] + 1; // カウント値+1;
  5. } else{ // クッキーがなければ初回訪問としてカウント値は1
  6.   $visit = 1;
  7. }
  8.  
  9. // 3回目以上のアクセスでクッキー削除
  10. if ($visit >= 3) {
  11.   setcookie('visitcount', $visit, time() - 3600);
  12. } else {
  13.   setcookie('visitcount', $visit);
  14. }
  15. echo '$visitの値:' . $visit;
  16. ?>

出力結果

$visitの値:1

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