Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

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

12.12.2000
Анатолий Подгорецкий

Счетчик посещений это первое, в чем нуждается популярный web сайт. Меня всегда интересует количество людей посетивших мой сайт. Я всегда заинтересован знать количество людей каждый день. И я всегда заинтересован знать, как выходные и праздники влияют на посещения.

Для отслеживания количества посетителей я просто создан однострочный файл, назвав его "counter", который содержит количество посещений. Единственная вещь, которая нам требуется, это простая CGI программа, которая читает этот файл, увеличивает на единичку и записывает обратно. Конечно, прекрасно при этом показывать посетителю эту информацию или в виде картинки или в виде простого текстового сообщения.

{$APPTYPE CONSOLE}
{$I-}
var
  f: Text;
  i: Integer;
begin
  System.Assign(f,'counter');
  reset(f);
  if IOResult = 0 then readln(f,i)
                  else i := 0;
  Inc(i);
  rewrite(f);
  writeln(f,i);
  close(f);
  if IOResult <> 0 then { skip };
  writeln('Content-type: text/html');
  writeln;
  writeln('<HTML>');
  writeln('<BODY>');
  writeln('<CENTER>');
  writeln('You are user <B>',i,'</B> of Dr.Bobs Delphi Clinic');
  writeln('</CENTER>');
  writeln('</BODY>');
  writeln('</HTML>')
end.

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

<HTML>
<FRAMESET ROWS="64,*">
  <FRAME SRC=http://www.drbob42.com/cgi-bin/hitcount.exe? NAME="Head">
  <FRAME  SRC="guest.htm"NAME="Main">
</FRAMESET>
</HTML>

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

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

Интернет решения от доктора Боба (http://www.drbob42.com)

(c) 2000, Анатолий Подгорецкий, перевод на русский язык
(https://nps.vnet.ee/ftp)

Previous page:
Понимание многопоточности в VCL для веб-серверных ISAPI-расширений
Top:
DRKB
Next page:
Счетчик посещений на Delphi