Cookieでユーザーの訪問回数を記録


最も単純で基本的なクッキーの例を使って、その流れを見ていきます。

1) ユーザーがページを訪れた時、初めてなのか、既にクッキーが書き込まれているのかを判別する必要があります。
  本文中の「var num=getCookie("visit");」から getCookie(key)関数 を呼び出し、"visit"に対応する値を探す。
2)本文に帰って以下の処理を行う
    if(num=="") 値が無かった場合の処理(メッセージを表示)
    else 値があった場合の処理(この場合回数を1増やす)
3)次に新しくクッキーを書き込む。本文中のsetCookie("visit",num); からsetCookie(key,value)関数を呼び出す。
  「visit = num;expires=Tue,1-Jan-2014 00:00:00;」のように書き込まれる。

  ・visit が値numを呼び出すキワードになる
  ・num は回数を指し、毎回1増える
  ・expires= はこのクッキーの有効期限を指す。
         (この例では2014年の初日にしている。この日以降クッキーは削除される)


● 関数の内容は↓のソースを
● このクッキーは「Cookieの削除」ページいつでもで削除できます。

Sample Source......................................................................>>>

<SCRIPT language="JavaScript"><!--
 function setCookie(key,value){      //Cookieファイルにデータを書き込む
  if(!navigator.cookieEnabled){      // クッキーが利用可能かどうか
    alert("クッキーへの書き込みができません");
    return;
  }
  var temp = key + "=" + escape(value) + ";";     //Cookieのキー名とエンコードされたその値
  temp += "expires=Tue,1-Jan-2014 00:00:00;"; //Cookieの有効期限
  document.cookie = temp;         //Cookieを設定(Cookieファイルに書き込む)
 }

 function getCookie(key){         //Cookieファイルからデータを読み出す
  key = key + "=";        //クッキーは「visit = 5;」形式で書き込まれているので
  value = "";
  temp=document.cookie+";";    //Cookieファイルの全データを変数tempに入れる
  //上のデータ内に引数keyの文字列が存在するかを検索し、あった場合その先頭位置を返す
  key_start = temp.indexOf(key,0);
  if(key_start != -1){              //引数keyの文字列が存在した場合(今までクッキーが書き込まれていない)
    start = key_start + key.length;     //引数keyに対応する値の先頭位置を調べる。
    end = temp.indexOf(";",start);                      //引数keyに対応する値の末尾位置を調べる
    value = unescape(temp.substring(start,end));    //引数keyに対応する値を取り出し、デコードする
  }
  return value; //値を返す
 }
//--></SCRIPT>
</head>

<body>
<SCRIPT language="JavaScript"><!--
  var num=getCookie("visit");     //Cookieファイルから訪問回数を取得する
  if(num==""){     //訪問回数が無い場合(初回訪問の場合)
    num = 1;     //回数を1に設定
    alert("あなたのご来訪回数<" + num + ">がCookieファイルに記録されました。
                              \n次回からは自動的に来訪回数が表示されます。");
  }else{          //Cookieファイルからデータが見つかった場合
    num++;       //回数を1増やす
  }
  setCookie("visit",num);       //訪問回数をCookieファイルに記録
  msg="ようこそ、<font color='red' size='16'><b>"+num+"</b></font> 回目のご来訪ですネ!";
  document.write(msg); //ページに表示する
//--></SCRIPT>  


(最終更新:12/12/15)
フレーム構成になっています・・・<[ホーム] >> [HTML整理ノート]>