![]() |
![]() |
![]() |
|||
|
![]() |
***
WEB Star #6*** :: Programming ::
|
![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() ![]() |
Создание
системы учета посещений Причин две. Во-первых, "внешняя" система статистики создают ощутимую задержку в загрузке страницы. Во-вторых, одному интересно узнать больше о графической системе пользователя, другому - о версиях браузера, а третьему - время проведенное пользователем на его сайте. Но, как оказывается, одна система дает инормацию о графической системе, вторая - о времени посещений, третья - вообще, не дает такой инормации, зато наиболее точно считает количество посетителей. Что делать? Вот и начинаем мы с вами ставить на страницу один, два, а потом и все пять счетчиков, после чего, время загрузки полезной информации составит не более 10% от времени загрузки сайта. Это приведет к тому, что посетитель плюнет и уйдет (интернет-то большой) или информации о нем не попадет в системы статистики. Вот тут-то мы и приходим к осознанию того, что система нужна своя. Какие преимущества это дает? Во-первых, скорость загрузки. Цифры статистики можно вывести текстом, что не задержит загрузку, а обработка статистики будет производится на том же сервере, что и страница, что не внесет дополнительных задержек на установление связи с удаленным сервером. Во-вторых, такая система, изначально, будет соответствовать нашим запросам. Хотим - будем учитывать параметры графической системы пользователей, хотим - будем считать, сколько раз пришел за последние 15 секунд Вася Пупкин. В-третьих, так как такая система является неотъемлемой частью сайта, то не будет потеряно ни одного хита! Здесь я не буду приводит конкретных скриптов, потому, что это будет очень громоздко, да и не нужно, вы, ведь, пришли разобраться во всем этом? Я изложу только основные принципы. Для реализации подобной системы я использовал слудующее программное обеспечение: Базы данных:
mySQL Сначала определимся, какие параметры мы хотим учитывать. Для себя я считаю важным знать, сколько пользователей пришло на сайт, сколько хитов они принесли, какие страницы посетили и откуда пришли и время каждого хита. Из этих данных можно вывести довольно много статистической информации. Так что этот аскетичный набор меня вполне устраивает. Исходя из этого, я создал три таблицы в базе данных: hits:
Хранит подробную информацию о хитах за текущий день. Содержит следующие
поля:
hitsbypage:
хранит инормацию за весь период по посещениям страниц сайта. Содержит
следующие поля:
referers:
хранит информацию о ссылках, по которым приходят на сайт. Содержит следующие
поля:
hitsbydate:
хранит информацию о хитах и хостах по дням. Содержит следующие поля:
Возникает
вопрос, откуда взять все эти данные? Вебсервер, при установлении сеанса
устанавливает определенные переменные среды, которые доступны из скриптов
на языке PHP. Прежде всего нас интересуют следующие:
Теперь рассмотрим логику работы самой системы. Проверяем, не является ли значение поля $HTTP_REFERER новым (не содержится в таблице referers). Если новое, то добавляем его в нужную таблицу и устанавливаем количество хитов для него в 1. Если такая ссылка уже была, то, просто, увеличиваем количество хитов. Аналогичным образом проверяем адрес запрашиваемой страницы. Далее проверяем, были ли хиты сегодня. Если хитов небыло, значит, начался новый день и это первое посещение сегодня. Следовательно, удаляем все данные из таблицы hits, так как хранить всю информацию в ней нерентабельно. Затем вносим новую дату в таблицу hitsbydate и устанавливаем количество хитов и хостов для данной даты в 1. Если же новый день еще не наступил, то, проверив, не является ли IP адрес уникальным на сегодня, увеличиваем поля hits и hosts в таблице hitsbydate. И, наконец, заносим информацию в таблицу hits. Вот и все. Вся необходимая информация хранится в базах на сервере и доступна в любой момент для проведения дальнейшего статистического анализа. Результаты работы такой системы вы можете посмотреть на странице статистики моего сервера. |
![]() |
Перепечатка
материалов разрешается, только после письменного разрешения автора (e-mail).
При перепечатке любого материала с журнала видимая ссылка на источник
www.kovrik.hut.ru и все имена,
ссылки авторов обязательны.
|
![]() |
©
Copyright Алекс aka TrigGer & x-graphic studio.
© Все права защищены. |
Для
просмотра журнала рекомендуеться: Разрешение: 1024*768 точек Браузер: Internet Explorer 5.5 или выше Для более эффективного просмотра нажмите F11. |