Dokumentation: Common Gateway Interface © by Michael Rentzsch, 2001
Inhalt | << Vorherige | Nächste >> |
An dieser Stelle soll ein konkretes Beispiel die Funktionsweise von CGIs erklären. Programmiert wird dieses Beispiel in Pascal, es soll sich dabei um einen einfachen Textcounter handeln!
Was muss ein solches Programm leisten. Wenn es nicht über Sonderfunktionen - wie das Erkennen von Aufrufen von der gleichen URL - verfügen soll, ist dies ganz einfach folgendes:
Dazu muss es nur eine Datei lesen und schreiben, in der die Anzahl der Aufrufe steht.
Der folgende Quelltext des Textcounters ist möglichst einfach gehalten und - so denke ich - gut kommentiert:
program textcounter (input, output);
{ Name der Datei, in der Anzahl
der Aufrufe steht }
const
Dateiname = '/usr/local/httpd/counter/counter.dat';
{ Variable: Anzahl der Aufrufe
}
var
Aufrufe : Word; { man denkt, dass das reicht }
{ Unterprogramme }
{ ************** }
procedure Lies;
{ Liest Anzahl der bisherigen Aufrufe }
var
Datei : File of Word;
begin
assign(Datei,Dateiname);
reset(Datei); { Auf Fehlerprüfung wird hier verzichtet
}
read(Datei,Aufrufe);
close(Datei);
end; { Lies }
procedure Ausgabe;
{ Erhöht Anzahl um 1 und gibt sie aus }
begin
inc(Aufrufe); { Auch hier wird keine Überlaufprüfung
gemacht }
{ Interpretationsanweisung }
writeln('content-type: text/plain'); writeln;
{ Ausgabe des Counterwertes }
writeln(Aufrufe);
end; { Ausgabe }
procedure Schreibe;
{ Schreibt neuen Wert für Aufrufe in Datei }
var
Datei : File of Word;
begin
assign(Datei,Dateiname);
reset(Datei);
write(Datei,Aufrufe);
close(Datei);
end; { Schreibe }
begin { main }
Lies;
Ausgabe;
Schreibe;
end. { main }