Отслеживайте количество посещений в файлах cookie - PullRequest
1 голос
/ 02 февраля 2012

Я бы хотел отслеживать количество посещений каждого анонимного пользователя. Я хочу иметь возможность показывать специальные сообщения, например, когда они посещают сайт в 10-й раз.

Увеличение переменной cookie в этом случае будет вполне приемлемым. Как узнать, когда начался новый сеанс?

Я использую Drupal 7, но, похоже, нет модуля для этого.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Может быть, вы могли бы использовать для этого модуль статистики, например Здесь . В случае, если это не соответствует вашим потребностям, вы можете создать его. Вы можете превратить следующий код в свой собственный модуль.

$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 голос
/ 02 февраля 2012

Проблема с использованием системы cookie-файлов заключается в том, что люди могут легко удалять cookie-файлы, и многие программы автоматически удаляют cookie-файлы через день, неделю, месяц и т. Д. Вместо этого вы можете использовать IP-адрес пользователя и отслеживать его вXML-файл или в базе данных, но помните, что это может измениться.

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

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

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

...