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

Материал из DRKB


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

<HTML>
<BODY>
<H2>Dr.Bob's Guestbook</H2>
<FORM ACTION="http://www.drbob42.com/cgi-bin/guest.exe" METHOD=POST
Name: <INPUT TYPE=text NAME=name<BR>
Comments: <TEXTAREA COLS=42 LINES=4 NAME=comments>
<P>
<INPUT TYPE=SUBMIT VALUE="Send Comments '''to''' Dr.Bob">
</FORM>
</BODY>
</HTML>


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

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 <> 0 then // open new guestbook
  begin
    Rewrite(guest);
    WriteLn(guest, '<HTML>');
    WriteLn(guest, '<BODY>')
  end;
  WriteLn(guest, 'Date: ', DateTimeToStr(Now), '<BR>');
  WriteLn(guest, 'Name: ', Value('name'), '<BR>');
  WriteLn(guest, 'Comments: ', Value('comments'), '<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('</BODY>');
  WriteLn('</HTML>')
end.


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

Source: Интернет решения от доктора Боба (http://www.drbob42.com)
Author: (c) 2000, Анатолий Подгорецкий, перевод на русский язык (http://nps.vnet.ee/ftp)
ID: 03439