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 сервере.