2012-02-02 64 views
1

我想跟蹤每個匿名用戶的訪問次數。我希望能夠顯示特殊消息,例如他們第10次訪問該網站時。跟蹤訪問計數的Cookie

在這種情況下增加cookie變量就可以了。我如何知道新會議何時開始?

我正在使用Drupal 7,但似乎沒有可用的模塊。

+0

未來,請標記爲一個國防部遷移您的問題,請不要交叉發佈。謝謝。 – Kev 2012-05-31 21:42:24

回答

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

與使用的cookies系統的問題是,人們可以很容易地刪除cookies,一天,一週,一個月後,許多程序會自動刪除Cookie,等等。你可以使用一個人的IP地址,而不是和跟蹤它在XML文件或數據庫中,但請注意,這也會改變。

對於這樣的系統,您擁有的最佳解決方案是讓用戶登錄系統並只跟蹤登錄的人。在這種情況下,您可以跟蹤登錄人員的IP地址和他們訪問的時間。你也可以實現一個cookie和一個數據庫系統,但是一個複雜的東西對於一個小的站點來說可能是不可行的。

如果您要堅持使用cookie,您可以在每次用戶訪問您的站點並計算cookie數量時創建一個帶有時間戳的全新cookie,或者可以創建一個cookie,以便每次使用數據庫時遞增顯着變化(發出另一次訪問信號)。如果這個人在5分鐘內訪問兩次,那麼它只能算作1次訪問,而其他技術就是這樣。

如果您想使用數據庫,只需在頁腳中包含一個文件,記錄用戶的IP地址(甚至更好的用戶名)以及他們訪問的時間戳。