Введение в программирование на PHP5

       

Увеличение значения счетчика посетителей


Когда посетитель прибывает на сайт, необходимо увеличить счетчик посетителей на 1. Мы узнаем, что прибыл посетитель, когда PHP создает сеанс и создает объект сеанса для этого человека. Поэтому мы создаем глобальную переменную сеанса с именем "Count" ($_SESSION[Count]) и будем увеличивать ее значение на 1 всякий раз, когда запускается новый сеанс. Это значение будет использоваться для увеличения VisitorCounter.

Чтобы не считать дважды одного и того же пользователя во время следующего сеанса, можно поместить код обновления счетчика внутрь оператора if, который проверяет, что переменной Count уже было присвоено значение. Если Count не определено, то это указывает на новый сеанс или на нового пользователя и удовлетворяется условие для обновления счетчика Visitor. Если Count имеет значение, то текущий сеанс пользователя уже был учтен и блок обновления игнорируется.

Так как home.php является "входом" на сайт, давайте вернемся к файлу home.php и добавим необходимый код для учета посетителей:

session_start();

if (!$_SESSION[Count]) { $_SESSION[Count] = 1; $conn = odbc_connect('Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\inetpub\wwwroot\PHPTutorial\Ecommerce\databases\ecommerce.mdb','',''); $sql = "UPDATE Counters SET VisitorCounter = VisitorCounter + $_SESSION[Count]"; $rs = odbc_exec($conn, $sql) odbc_close($conn); }

Мы соединяемся и открываем таблицу Counters и добавляем 1 в поле VisitorCounter. Это действие происходит всякий раз, когда кто-то новый приходит на сайт. ПРИМЕЧАНИЕ: не забудьте сделать вызов функции session_start() перед проверкой статуса переменной сеанса Count. Если сеанс не запущен, $_SESSION[Count] не будет опознаваться как переменная сеанса, и оператор if будет выполняться каждый раз при перезагрузке страницы. Другими словами счетчик будет увеличиваться всякий раз, когда обновляется страница, а не тогда, когда создается новый сеанс.



Содержание раздела