"Интернет решения от доктора Боба" - читать интересную книгу автора (Swart Bob)

3.4.2. Гостевая книга

Подлинный CGI пример: приложение – гостевая книга (в котором спрашиваем имя и небольшой комментарий), всего лишь несколько строк на Дельфи.

Сначала CGI форма:

  lt;HTMLgt;

  lt;BODYgt;

  lt;H2gt;Dr.Bob's Guestbooklt;/H2gt;

  lt;FORM ACTION="http://www.drbob42.com/cgi-bin/guest.exe" METHOD=POST

  Name: lt;INPUT TYPE=text NAME=namelt;BRgt;

  Comments: lt;TEXTAREA COLS=42 LINES=4 NAME=commentsgt;

  lt;Pgt;

  lt;INPUT TYPE=SUBMIT VALUE="Send Comments to Dr.Bob"gt;

  lt;/FORMgt;

  lt;/BODYgt;

  lt;/HTMLgt;

Теперь консольное (Дельфи) приложение:

  program CGI;

  {$I-}

  {$APPTYPE CONSOLE}

  uses

    DrBobCGI;

  var

    guest: Text;

    Str: String;

  begin

    Assign(guest,'guest'); // assuming that's the guestbook

    Append(guest);

    if IOResult lt;gt; 0 then // open new guestbook

    begin

      Rewrite(guest);

      writeln(guest,'lt;HTML');

      writeln(guest,'lt;BODY')

    end;

    writeln(guest,'Date: ',DateTimeToStr(Now),'lt;BR');

    writeln(guest,'Name: ',Value('name'),'lt;BR');

    writeln(guest,'Comments: ',Value('comments'),'lt;HR');

    reset(guest);

    writeln('Content-type: text/html');

    writeln;

    while not eof(guest) do // now output guestbook itself

    begin

      readln(guest,Str);

      writeln(Str)

    end;

    close(guest);

    writeln('lt;/BODY');

    writeln('lt;/HTML')

  end.

Примечание, для того, что бы упростить, мы не используем базу данных для хранения комментариев. Иначе это потребовало установки BDE на web сервере.