ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ
Главная » Статьи » Программирование » Все о PHP |
Анализ посещаемости сайта рефералами Реферал - это url, с которого посетитель приходит на ваш сайт. К примеру, на странице http://www.site.com/links.html есть ссылка на ваш сайт. Если человек нажмет на нее, то он попадет на ваш сайт. Тогда url http://www.site.com/links.html будет вашим рефералом. Каждому владельцу ресурса не будет лишним знать, откуда именно заходят посетители на его сайт. Для тех, кому интересно решение данной проблемы (задачи) с помощью PHP, и посвящена данная статья. Не спорю, что у любой уважающей себя CMS (content management system, система управления содержанием) есть модули (боты), которые отвечают за сбор статистики. Для тех же, у кого на сайте не стоит CMS, есть возможность попрактиковаться в написании и конфигурировании собственного мини-модуля статистики. Его можно реализовать в небольшом скрипте, который будет отслеживать нажатия на ссылки, записывать их URL'ы в базу данных (в нашем примере это MySQL) и генерировать статистику в виде графика. Да и поможет разобраться, как это все работает на самом деле, не копаясь в модулях сторонних разработчиков. Нам потребуется три файла: Для создания таблицы referer необходимо выполнить запрос referer.sql. Вот его содержание: Теперь займемся файлом referer.php. Зададим значения переменным: В переменную $ref заносим информацию о ссылке-реферере: С помощью функции strtolower переводим значение переменной $ref в нижний регистр. Это делается для того, чтобы ссылки типа www.site.com, www.Site.com или WWW.SITE.COM были одинакового регистра. Если переменная $ref не пустая, то подключаемся к БД: Производим выборку из столбца url, значение которого совпадает с $ref Переменная $rows содержит количество совпадений Если же не найдено ни одной записи (т.е c такого url'a еще не было рефералов) устанавливаем значение переменной $hits в "1" А далее просто выполняем вставку url'а и переменной $hits в нашу таблицу (referer): Выполняем запрос: Если же были найдены записи по данному url (т.е c этого url'a уже заходили рефералы), Инкрементируем значение переменной $hits (увеличиваем на "1") В ту страницу сайта, для которой необходима статистика по рефералам (как правило - это главная страница, index.php), необходимо вставить ссылку на скрипт referer.php. Предполагается, что файлы referer.php и index.php находятся в одной папке. На этом и заканчивается содержимое скрипта referer.php. Но, как я написал выше, есть также и графическая статистика. Это будет наш третий файл - viewreferer.php. Задаем переменные для подключения к БД: Так как этот скрипт генерирует таблицу с графиком, то есть смысл для определенных диапазонов значений хитов назначить определенные цвета.$color10 = "#FFFF00"; Опять соединяемся с БД:mysql_connect($hostname, $username,$password) or die(mysql_error()); Делаем выборку из БД и упорядочиваем ее по убыванию (desc) количества хитов (столбец hits).$query = "select * from $userstable order by hits desc"; Подсчитываем количество строк с уникальными рефералами (это попросту число строк в нашей таблице referer). $number = mysql_num_rows($result) or die (mysql_error()); Если же не найдено ни одной записи (таблица пуста), то выводим сообщение:if ($number == 0) { Сведений о рефералах не обнаружено! } Если же рефералы есть: elseif ($number >= 1) { Выбираем цвет для текущего значения hits:if ($hits <10){ Табличка с графиком строится как результат MySQL-запроса. В первой колонке содержится название url'а, а во второй - количество хитов, а в третей - цветная полоса.echo " "; echo "
} } Итак, все готово! Теперь можно периодически вызывать скрипт viewreferer.php и смотреть графическую статистику переходов на ваш сайт. | ||||
Просмотров: 393 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |