Простой способ проверить, является ли просмотр страницы уникальным? - PullRequest
1 голос
/ 09 января 2010

Эй, ребята, я создаю небольшой каталог продукции для клиента. В настоящее время я пытаюсь выяснить, как разрешить пользователю сортировать по «популярности». Я подумал, что самый простой / простой способ сделать это - иметь поле «Представления» в каждой записи продукта.

Первоначально я не продумал это (да) и подумал, что просто добавлю единицу к количеству "просмотров", когда вызывается функция для извлечения конкретного продукта. Конечно, проблема в том, что он не учитывает обновление страницы 30 000 раз.

Как лучше всего это сделать? Есть ли у php какой-нибудь способ узнать, является ли посещение уникальным?

Я использую php / codeigniter / mysql / html / css / javascript / jquery.

Ответы [ 2 ]

5 голосов
/ 09 января 2010

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

Хорошо, сессионный подход. На вашей странице вы запускаете:

session_start();
if(!isset($_SESSION['page_views']['some_unique_string'])){
  $_SESSION['page_views']['some_unique_string'] = true;
  // update your database
}

Обратите внимание, что вам нужно убедиться, что 'some_unique_string' уникален для страницы, на которой вы отслеживаете просмотры.

Подход почти идентичен для файлов cookie.

0 голосов
/ 09 января 2010

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

Вы можете найти весь этот код в моем бесплатном скрипте с изображениями здесь:

http://destiney.com/php

Вот демоверсия:

http://ratedsite.com/

Посмотрите на скрипт addImageRating.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...