2012-02-02 14 views
1

各匿名ユーザーの訪問回数を把握したいと思います。私は特別なメッセージを表示できるようにしたい、例えば、彼らがサイトを10回目に訪れたときなど。クッキーの訪問回数を把握する

この場合、Cookie変数を増やすだけで問題ありません。新しいセッションがいつ開始されたかを知るにはどうすればよいですか?

私はDrupal 7を使用していますが、利用可能なモジュールではないようです。

+0

今後、モッズがあなたの質問を移行するようにフラグを立ててください。クロスポストしないでください。ありがとう。 – Kev

答えて

2

Hereのように統計モジュールを使用できますか。あなたのニーズに合わない場合は、あなたのニーズを作成することができます。以下のコードをあなた自身のモジュールにすることができます。

$today = date('l, F j, Y'); 
$timestamp = date('g:i A'); 
if (strcmp($_COOKIE["LAST_VISIT"], '') == 0) { 
    $lasttime = ""; 
} 
else { 
    $lasttime = $_COOKIE["LAST_VISIT"]; 
} 

$LAST_VISIT = $today . " at " . $timestamp; 

// Set the "LAST_VISIT" cookie with date/time, with expiration for 2 full weeks. 
setcookie ("LAST_VISIT", $LAST_VISIT, time() + 3600*24*14); 

if ($_COOKIE["VISIT_NUMBER"] == 0) { 
    $visitcount = 0; 
} 
else { 
    $visitcount = $_COOKIE[VISIT_NUMBER]; 
} 

// Set the "VISIT_NUMBER" cookie with count, with expiration, lets say for 2 full weeks. 
setcookie("VISIT_NUMBER",1 + $visitcount, time() + 3600*24*14); 
1

クッキーシステムを使用しての問題は、人々が簡単にクッキーを削除することができ、そして多くのプログラムが自動的になどあなたの代わりに人のIPアドレスを使用して追跡することができ、日、週、月後にクッキーを削除するということですそれをXMLファイルやデータベースに保存することもできますが、これも変更できることに注意してください。

このようなシステムに最適なソリューションは、ユーザーがシステムにログインし、ログインしているユーザーのみを追跡することです。この場合、ログインしたユーザーのIPアドレスと彼らの訪問の時間。クッキーとデータベースシステムの両方を含めることもできますが、複雑なものは小規模なサイトでは実現不可能かもしれません。

クッキーを使用する場合は、ユーザーがサイトにアクセスしてクッキーの数をカウントするたびにタイムスタンプで完全に新しいクッキーを作成するか、データストアごとに増分するクッキーを1つ作成できます劇的に変化する(別の訪問を通知する)。その人が5分間に2回訪れた場合、1回の訪問とそのような技術的なものとしてカウントされます。

データベースを使用する場合は、人物のIPアドレス(またはユーザ名がさらに優れている)と訪問したタイムスタンプを記録するフッタにファイルを含めます。

関連する問題