Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Основы создания PHP-счётчика
 
 автор: vasso_m   (10.10.2005 в 10:18)   письмо автору
 
 

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

У меня на сайте есть нескольно страниц, которые подгружаються в index.php. В контент через include подгружаються разные страницы. На этих страницах я помещаю

include 'counter.php';


а вот в файле counter.php определяю переменные, как ip-адресс, ссылающаяся страница, имя хоста и так далее. я так понимаю, что это теперь можно записать в базу данных или файл. Я понимаю, что так это работает с одной страницей, а когда страниц 10?
Какие данные из переменных я запишу в базу?
Об одной странице или для каждой страницы будет своя статистика?
Как считать общую статистику? Сумировать посещения по каждой странице или смотреть посещаемость только первой страницы?

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

   
 
 автор: cheops   (10.10.2005 в 13:52)   письмо автору
 
   для: vasso_m   (10.10.2005 в 10:18)
 

Это продолжение темы http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5411. В первую очередь нужно решить будете вы использовать для хранения информации базу данных или всё будет храниться в файлах? Использование базы данных будет гораздо удобнее.

1) При подключении счётчика к странице
<?php
  
include 'counter.php';
?>

В первую очередь следует проверить существует ли такая страница в базе данных - если её нет - нужно добавить, т.е. обеспечить автоматическое добавление в систему новых страниц. Узнать имя текущей PHP-страницы можно при помощи элемента $_SERVER['PHP_SELF']. Хранить данные можно в таблице вида.
CREATE TABLE pages (
  id_page int(10) NOT NULL auto_increment,
  name text,
  PRIMARY KEY  (id_page)
) TYPE=MyISAM;

2) Далее вам необходимо собрать информацию о посетител
$_SERVER['REMOTE_ADDR'] - его IP-адрес
$_SERVER['HTTP_USER_AGENT'] - пользовательский агент
$_SERVER['HTTP_REFERER'] - реферер
Число уникальных IP-адресов даст вам число хостов, общее число посещений - даст вам число хитов. В пользовательском агенте находится разнообразная интересная информация - версия браузера, операционная система, информаци о роботе поисковой системы. Предварительно нужно набрать базу данных пользовательских агентов - чтобы их расшифровать - подробности можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=2870. Реферер сообщает с какой страницы пришёл пользователь - отсюда можно извлечь число обращений с поисковых систем, ключевые слова, по которым найден сайт.

3) Всю эту информацию следует поместить в отдельные таблицы пометив каждую запись номером страницы id_page - откуда она получена. Тогда при помощи двухтабличного запроса всегда можно будет вытащить информацию для конкретной страницы, а при помощи однотабличного для всего сайта в целом. Если с этим возникнут трудности - можно задать соответсвующий вопрос в разделе MySQL.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования