счетчик посетителей сайта php

Счетчик посетителей сайта php

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Что нужно знать для создания PHP-сайтов?

Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.

Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!

Создайте свой сайт за 3 часа и 30 минут.

После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.

Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).

Изучите основы HTML и CSS менее чем за 4 часа.

После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.

Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Хотите изучить JavaScript, но не знаете, как подступиться?

После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.

Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.

*Наведите курсор мыши для приостановки прокрутки.

Счетчик посещений сайта своими руками на PHP и MySQL

Размер: 53,8 Мб.

Длительность: 34 мин. 25 сек.

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

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

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

Все исходники, используемые в процессе урока, приложены в архив вместе с видеоуроком.

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

Под видео вы найдете сокращенную текстовую версию для этого видеоурока.

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

Краткий обзор урока (все подробности смотрите в видео):

Что нам понадобится?

1. Создаем проект в Денвере (либо на реальном сервере)

Я создал в Денвере хост с именем statistic, а в папке www находятся все файлы сайта.

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

2. Создаем базу данных

Давайте перейдем к созданию базы, где у нас будет лежать вся информация. Назовем ее stats и создадим в ней две таблицы.

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

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

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

В таблице будут 2 поля:

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

В таблице будут 4 поля:

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

В итоге база будет выглядеть вот так:

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

3. Базовые положения

Теперь, когда база данных создана, можно перейти к нескольким положениям, от которых мы будем отталкиваться при написании скрипта:

1. Определять уникального посетителя мы будем по IP-адресу. 1 IP-адрес равен 1 уникальному посетителю (хосту).

2. Заходы в течение 1 дня с одним и тем же IP-адресом не увеличивают количество уникальных посетителей в этот день.

3. Любой заход на сайт в течение суток увеличивает счетчик посещений (хитов) на 1 (вне зависимости от того, совершается ли он с уникального за сегодня IP-адреса или нет).

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

4. Начало суток мы будем определять следующим образом: когда человек заходит на сайт, мы будем делать проверку, существуют ли в таблице visits какие-либо записи за сегодняшнюю дату. Если нет, значит текущий посетитель является первым посетителем в данных сутках.

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

4. Пишем файлы страниц сайта (index.php, contacts.php, about.php и uslugi.php)

Поскольку все 4 файла страниц сайта практически идентичны, мы рассмотрим только страницу index.php. Остальные три страницы (contacts.php, about.php и uslugi.php) отличаются только тэгами title и h2, в которых написаны другие названия страниц.

Итак, файл index.php:

В самом начале мы подключаем файл сount.php, который содержит всю логику работы счетчика.

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

Т.е. на каждой странице сайта у нас будет выводиться счетчик, и будет указано, сколько было за сегодня уникальных посетителей и просмотров. Этот файл мы разберем позже.

5. Пишем файл стилей (style.css)

Стили, как вы видите, очень простые. Мы задаем отступы, размер и гарнитуру шрифта, убираем подчеркивание для ссылок в меню и меняем цвет фона при наведении курсора мыши на элемент списка.

Кроме того, мы используем свойство display со значением inline для того, чтобы наше меню приняло горизонтальный, а не вертикальный вид.

На всякий случай создаем в корне сайта файл .htaccess с одной единственной директивой для задания кодировки UTF-8:

Данный шаг может оказаться излишним, если кодировка сервера уже была установлена в это значение.

7. Подключаемся к базе данных (db.php)

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

7. Пишем основной файл с логикой (count.php)

Ниже представлен его код, который мы вкратце разберем:

Итак, сначала мы подключаем файл bd.php, обеспечивающий связь с базой данных, после чего начинаем писать основной код.

Перво-наперво мы получаем из глобального массива $_SERVER IP-адрес посетителя и сохраняем текущую дату.

Далее у нас возможно только 2 варианта: или посещений сегодня еще не было, или посещения сегодня уже были.

В первом случае (если посещений еще не было) и текущий посетитель является первым в этих сутках, мы производим очистку таблицы с IP-адресами.

Это нужно нам для того, чтобы начать сбор статистики уже именно за сегодняшний день.

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

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

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

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

На этом файл count.php можно считать разобранным.

8. Пишем файл, выводящий счетчик на страницы (show_stats.php)

Файл show_stats.php мы используем на каждой из страниц для того, чтобы вывести статистическую информацию. Вот его код:

Как видите, этот файл намного проще.

Здесь мы просто получаем из базы статистику по текущей дате, после чего используем ключи результирующего массива $row для вывода на экран количества уникальных посетителей (поле host) и просмотров (поле views).

9. Создаем файл «админки» (index.php в папке admin)

В этом файле мы представим статистику посещений в табличном виде.

Кроме того, мы реализуем возможность получать статистику за определенный период времени. Ниже представлен код файла index.php:

Сначала соединяемся с базой. Затем формируем две ссылки с параметрами, которые позволят нам при клике по ним получать данные за определенный интервал времени (в примере: за 1 день и за 1 неделю).

Мы также проверяем глобальный массив $_GET на наличие передаваемого нами параметра (interval) и, в случае, если значение этого параметра не является числом, мы выводим соответствующее предупреждение.

Если же все нормально, то мы совершаем запрос к базе, извлекая из нее все записи, отсортированные по дате в обратном порядке в количестве штук, заданных в параметре interval.

После этого мы запускам цикл while и в нем формируем строки таблицы, выводя в их ячейки элементы результирующего массива $row (date, hosts и views), в результате чего получаем список всех посещений за указанный период времени.

Ну что ж, на этом разбор скрипта можно считать оконченным. При желании вы можете его модифицировать, заставив его, например, собирать больше статистических данных.

Если краткий текстовый обзор вам не до конца понятен, то изучите полную версию урока в видеоформате на этой странице выше.

Успехов вам, и до связи!

P.S. Хотите легко работать с PHP? Обратите внимание на премиум-уроки по различным аспектам сайтостроения, включая программирование на PHP, а также на бесплатный курс по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить этот мощный язык веб-разработки:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

Источник

Счетчик php посещений, просмотров, скрипт

Подробно о счетчике посещений для сайта

Самый простой счетчик посещений на php

Алгоритм работы самого простого счетчика посещений на php

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

Скрипт самого простого счетчика на php

Это базовый скрипт счетчика, который можно модифицировать до бесконечности!

Как создать путь и имя файла для счетчика?

Счетчик №2 посещаемости на php

Логика скрипта абсолютно аналогичная, что и в первом пункте.

Получаем адрес страницы.

Создаем уникальный идентификатор для названия файла из адреса.

И ещё можно посчитать уникальное количество посещений.

Единственное, что мы сделаем, это во всех подробностях рассмотрим два варианта создания имени файла для записи.

И расскажу несколько нюансов, которые будут подстерегать вас на этом пути!

Папка для сохранения результатов подсчета посещений на php

Если для вас не проблема создания пути до папки, то можно этот пункт пропустить!

От корневой до папки где будут храниться файлы, прописываем вручную

Создание названия файла для счетчика php

Сперва нам нужен алгоритм

Алгоритм создания названия фала для записи посещений

Нужно получить адрес из адресной строки, не будем останавливаться на этом, разбирали этот вопрос здесь

Из полученного уникального адреса создать уникальный идентификатор, который и будет служить названием файла, для этого будем использовать md5.

Добавляем расширение, я уже давно использую расширение «.dat» он лучше «.txt» проверено!

Создаем уникальное имя для файла посещаемости

Сделаем из последней строки уникальный идентификатор:

Аналогично выведем здесь результат:

Добавляем расширение «.dat»

Мы подготовили название файла для записи количества посещений на странице.

Соединяем папку + имя файла, собираем скрипт посещаемости

Соединяем папку и название файла :

Собираем весь код счетчика посещаемости вместе:

$counter = @file_get_contents($path_to_file) +1;

Получение результата и вывод количества посещаемости из файла

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

И в нужно месте выводим количество посещений через php:

Поскольку наш код счетчика, почти копия приведенного то мы можем вывести количество посещений данной страницы

Либо, как вариант, можно в любой точке страницы получить количество посещений таким образом:

Это же число, вы можете наблюдать под первым заголовком, где в том числе находится дата.

Как получить количество посещений с другой страницы?

Если вам требуется получить количество посещений с другой страницы, то вам нужно передать на неё адрес требуемой страницы.

На сайте я использую данный счетчик со времени, когда написал самый первый скрипт счетчика

Из базы в цикле получаем адрес страницы, который был записан туда при создании страницы.

Адрес преобразуем в идентификатор.

Создаем путь до файла с записанными посещениями.

Считаем уникальные посещения.

Как сделать, чтобы счетчик посещений считал только уникальные заходы на страницу?

Давайте сделаем такой счетчик!

Логика скрипта подсчета уникальных посещений:

По условию if будем проверять, была ли создана сессия для данной страницы.

Как только сессия создана, более запись в файл не будет производиться. До того момента, пока сессия не уничтожится.

Код счетчика с подсчетом уникальных посещений:

$parse_url = parse_url($_SERVER[«REQUEST_URI»], PHP_URL_PATH);

Старый вариант названия файла

Новый вариант названия файла обезличенный и ничего не говорит ни вам, ни мне!

А вот второй файл говорит, может он вам никогда и не пригодится, но по виду старый все же приятнее.

Не буду удалять этот вариант, может кому и пригодится.

В результате, мы получаем, такой адрес для записи количества просмотров:

Страница полностью переписана.

Друзья! Для всех кто не в курсе, то мы периодически возвращаемся к старым страницам и одна из таких страниц – это счетчик на PHP, и я его написал, наверно одним из первых кодов вообще!

И сейчас – это реально невозможно понять и прочитать! Поэтому весь старый контент в мусорку!

Полностью переписали данную страницу!

Надеюсь стало понятнее. счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

Счетчик посещений каждый день

На каждый новый день создается отдельная ячейка ассоциативного массива

Так же прибавляется +1.

Нам понадобятся две новые функции:

Весь счетчик количество посещений по дням:

$parse_url = parse_url($_SERVER[«REQUEST_URI»], PHP_URL_PATH);

Выводим результат через print_r :

(в all добавили показания старого счетчика.)

Этот массив можно преобразовать в график. Нужно только скриптик написать счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

Поскольку массив каждый раз увеличивается, скрыли его по д «катом»

Источник

Собственная статистика посещаемости сайта

Эта статья о том, как с помощью PHP и MySQL можно организовать сбор статистики посещений вашего сайта. Причем особенностью полученной статистики в результате работы скрипта будет являться то, что вы получите статистику о каждом посетителе в отдельности, узнаете какие страницы он посещал, каким браузером пользовался, сколько провел времени на вашем сайте и многое другое.

Для начала вам нужно создать таблицу в своей базе данных (MySQL), назовем ее, к примеру “counter”, ее структура будет примерно такой:

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

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

Теперь пользователь зарегистрирован и нам осталось получить информацию о нем и о страницах которые он посещал. Для этого в PHP предусмотрено множество возможностей:

Информацию о пользователе получили, теперь ее нужно добавить в таблицу, для этого для начала нужно подключиться к базе и выбрать нашу таблицу:

С MySQL соединились, теперь нужно заполнить таблицу данными, для этого создадим несколько новых функций:

В итоге нам остается добавить всего пару строк и скрипт будет готов:

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

Для тех, у кого может быть не получилось собрать весть скрипт в кучу, привожу его полный исходный код:

Для вывода статистики вам может понадобиться еще один скрипт:

Источник

Статистика посещений на PHP

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

Пожалуй, одна из самых сложных, но в то же время обыденных, задач программиста является создание статистики посещений на PHP. В этой статье я покажу, как её можно сделать наиболее качественной.

На основании этого давайте с Вами разберём, какая таблица в базе нам потребуется. Вот те поля, которые я считаю необходимы для хорошей статистики посещений на PHP:

Теперь разберём PHP-код добавления в эту таблицу новой записи:

query(«INSERT INTO `visits` (`userhash`, `ip`, `uri`, `ref`, `date`) VALUES (‘$userhash’, ‘$ip’, ‘$uri’, ‘$ref’, ‘$date’)»); // Добавляем запись
$mysqli->close(); // Закрываем соединение
?>

Безусловно, данный код надо размещать на всех страницах сайта. И так же он может быть и изменён в зависимости от Вашего движка. Также можно добавлять и другие данные, например, браузер пользователя, ОС и прочее.

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

счетчик посетителей сайта php. Смотреть фото счетчик посетителей сайта php. Смотреть картинку счетчик посетителей сайта php. Картинка про счетчик посетителей сайта php. Фото счетчик посетителей сайта php

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Комментарии ( 23 ):

А так и нужно чтобы при каждом переходе по ссылкам на сайте появлялась новая запись, или нет?

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

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

Отлично,надо бы «похимичить» с этим кодом.

Михаил, а можете сделать статью про создание графиков статистики по дате или количеству без сторонних библиотек, в виде дополнения к статье? Я очень прошу, просьба размером с голубого кита.

Расскажу о создании графиков в PHP на основе данных, но это будет через 2-3 недели.

Большое спасибо, будем с нетерпением ждать этой статьи, всё мы точно будет рады. Огромное спасибо, а когда будет статья про спойлер на js? Я вас просил написать и до сих пор жду

Источник

Счётчик посещений

Введение

Среди большого количества бесплатных счётчиков, которые предоставляют сервис статистики, я выбрал HotLog. Этот выбор был обусловлен тем, что HotLog, в общем, неплохой сервис и предоставляет то самое, чего не хватает WebAlizer. Их графический счётчик показывает общее число посещений и прибавку посетителей за текущий день.

Постановка задачи

Разработать графический счётчик посещений, который бы учитывал общее количество посещений, прибавку посещений за день и количество просмотренных страниц.

Для хранения статистики я выбрал обычный текстовый файл, где будет храниться всего одна строка. Это будет самый быстрый вариант хранения данных. Конечно, много информации так не сохранишь, но мне это и не требуется.

Решение задачи

Поскольку счётчик графический, то самое главное, что нельзя забывать, необходимо проверить доступность функций для работы с графикой. Эти функции не являются обязательными для PHP и зависят от библиотеки gd. Поэтому нужно всегда проверять, доступны ли они.

Помня обо всём этом, можно приступать к написанию скрипта.

Для большего удобства и эстетики я написал ещё небольшой mod_rewrite движок, который позволит обращаться к счётчику как картинке.

Последним штрихом, я написал файл, который отображает краткую статистику счётчика в виде html-страницы.

Пример работы

После размещения файлов на сервере, я вставил такой код в шаблон:

В результате получил счётчик, почти как у HotLog :-), а может и лучше, ведь он доступен всегда, когда доступен сайт!

Что можно добавить

Я привёл пример очень простой реализации графического счётчика. Без особых усилий к нему можно добавить более детальную статистку, которая бы могла рассчитывать не только суточные показатели, но и по месяцам. Это довольно легко реализуется на текстовых файлах, однако, если же вы захотите хранить полные списки ip адресов, информацию о браузерах, разрешение экрана и т.п., то одними текстовыми файлами тут не обойтись.

© 2021 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *