我想跟蹤每個匿名用戶的訪問次數。我希望能夠顯示特殊消息,例如他們第10次訪問該網站時。跟蹤訪問計數的Cookie
在這種情況下增加cookie變量就可以了。我如何知道新會議何時開始?
我正在使用Drupal 7,但似乎沒有可用的模塊。
我想跟蹤每個匿名用戶的訪問次數。我希望能夠顯示特殊消息,例如他們第10次訪問該網站時。跟蹤訪問計數的Cookie
在這種情況下增加cookie變量就可以了。我如何知道新會議何時開始?
我正在使用Drupal 7,但似乎沒有可用的模塊。
也許你可以使用統計模塊,如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);
與使用的cookies系統的問題是,人們可以很容易地刪除cookies,一天,一週,一個月後,許多程序會自動刪除Cookie,等等。你可以使用一個人的IP地址,而不是和跟蹤它在XML文件或數據庫中,但請注意,這也會改變。
對於這樣的系統,您擁有的最佳解決方案是讓用戶登錄系統並只跟蹤登錄的人。在這種情況下,您可以跟蹤登錄人員的IP地址和他們訪問的時間。你也可以實現一個cookie和一個數據庫系統,但是一個複雜的東西對於一個小的站點來說可能是不可行的。
如果您要堅持使用cookie,您可以在每次用戶訪問您的站點並計算cookie數量時創建一個帶有時間戳的全新cookie,或者可以創建一個cookie,以便每次使用數據庫時遞增顯着變化(發出另一次訪問信號)。如果這個人在5分鐘內訪問兩次,那麼它只能算作1次訪問,而其他技術就是這樣。
如果您想使用數據庫,只需在頁腳中包含一個文件,記錄用戶的IP地址(甚至更好的用戶名)以及他們訪問的時間戳。
未來,請標記爲一個國防部遷移您的問題,請不要交叉發佈。謝謝。 – Kev 2012-05-31 21:42:24