2012-02-02 9 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-адрес зарегистрированных пользователей и время их визита. Вы также можете внедрить как файл cookie, так и систему баз данных, но что-то, что может быть сложно для небольшого сайта.

Если вы собираетесь придерживаться файла cookie, вы можете либо создать совершенно новый файл cookie с отметкой времени каждый раз, когда пользователь посещает ваш сайт и подсчитывает количество файлов cookie, либо вы можете создать один файл cookie, который увеличивается каждый раз, когда datastamp резко меняется (сигнализирует о другом посещении). Вы можете сделать это так, если человек посещает дважды в течение 5 минут, что он считается только 1 посещением и другими техническими материалами.

Если вы хотите использовать базу данных, просто укажите файл в нижнем колонтитуле, который регистрирует IP-адрес лица (или имя пользователя еще лучше) и временную метку, по которой они посещают.