Dokumentation: Common Gateway Interface            © by Michael Rentzsch, 2001

Inhalt <<   Vorherige    Nächste   >>

Ein Beispiel

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!

 

Voraussetzungen

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.

 

Das Programm

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 }

oben