Самостоятельное создание сайта
ВСЕ О ТОМ, КАК
СДЕЛАТЬ САЙТ
САМОМУ


Оставить отзыв или предложение

Количество пользователей on-line

количество посетителей on-oline

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

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

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

Вот код самого скрипта:

<?php
session_start();
$id = session_id();
if ($id!="")
{
 $CurrentTime = time();
 $LastTime = time() - 600;
 $base = "session.txt";

 $file = file($base);
 $k = 0;

 for ($i = 0; $i < sizeof($file); $i++) {
  $line = explode("|", $file[$i]);
   if ($line[1] > $LastTime) {
   $ResFile[$k] = $file[$i];
   $k++;
  }
 }
 for ($i = 0; $i<sizeof($ResFile); $i++) {
  $line = explode("|", $ResFile[$i]);
  if ($line[0]==$id) {
      $line[1] = trim($CurrentTime)."\n";
      $is_sid_in_file = 1;
  }
  $line = implode("|", $line); $ResFile[$i] = $line;
 }
 $fp = fopen($base, "w");
 for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); }
 fclose($fp);
 if (!$is_sid_in_file) {
  $fp = fopen($base, "a-");
  $line = $id."|".$CurrentTime."\n";
  fputs($fp, $line);
  fclose($fp);
 }
}
?>

Теперь давайте подробно разберем, что мы имеем в итоге. Берем и копируем весь этот код на любую страниц сайта где хотим разместить сам счетчик, где будет находится этот код на странице не принципиально главное чтобы он там был, можете разместить прям в начале, а код который будет показывать цифры далее я вам опишу. Теперь давайте немного разберем сам код, нам нужно запустить сессии делается это несложной функцией session_start(); которую мы должны разместить в самом начале страницы и хотелось бы отметить именно в самом начале, иначе вылезет ошибка типа Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by.

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

$id = session_id();
if ($id!="")

Выводим текущее время

$CurrentTime = time();

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

$LastTime = time() - 600;

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

$base = "session.txt";

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

 <?php echo "Сейчас на сайте: <b>".sizeof(file($base))."</b>"; ?>

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

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

Дата публикации:2013-11-14


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

Нашли ошибку в тексте

Нашли ошибку в тексте!!!
Просто выделите её мышкой, нажмите Ctrl+Enter.
И мы все исправим.

Allsoft
Хостинг Beget