Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Bild 1: Grundsätzlicher Aufbau des http-Servers mit CGI 
Wird vom Client ein Dokument angefordert, trifft das CGI die Feststellung, ob der Dokumentpfad in das CGI-Programmverzeichnis oder in ein sonstiges Verzeichnis weist. Wird ein Programm im CGI-Programmverzeichnis angesprochen, wird dies vom CGI ausgeführt. Als Ergebnis liefert dieses Programm dann ein HTML-Dokument an das CGI. Dies geschieht über den Kanal ?Standardausgabe". Würde dieses Programm von der Shelloberfläche ?normal" ausgeführt erscheint dieses HTML-Dokument auf dem Bildschirm welcher üblicherweise das Standardausgabegerät darstellt. 

Beispiel: Wiki Markup*\#\

Code Block

#!/bin/sh

...


...

# disable filename globbing

...


...

set 

...

-f

...


...

# Ich bin ein Dokument vom Typ text/html

...


...

echo Content-type: text/html

...


...

echo ""

...


...

# Die HTML-Tags werden mit dem Befehl echo ausgegeben.

...


...

echo '<HTML>'

...


...

echo '<HEAD>'

...


...

echo '<TITLE> Ein Counter </TITLE>'

...


...

echo '</HEAD>'

...


...

echo '<BODY BGCOLOR="BBDDFF" TOPMARGIN=5 LEFTMARGIN=5 LINK=YELLOW VLINK=WHITE><CENTER>'

...


...

echo '<H5>'

...


...

echo 'Besucher seit dem 01.06.1999:'

...


...

echo '</H5>'

...


...

echo '<TABLE BORDER=0 CELLSPACING="0" CELLPADDING="0"><TR><TD>'

...


...

# Der Pfadname zur Counterdatei, die den letzten Wert enthält

...


...

# Pfad vorhanden, Zugriffsrechte ??

...


...

COUNT_FILE=/www/htdocs/keipke/count/.count

...


...

 if 

...

[ 

...

! 

...

-f $COUNT_FILE 

...

]

...


...

then

...


...

  # Wenn die Datei nicht existiert, dann mit dem Wert 0 anlegen.

...


...

  

...

LAST_COUNT=0

...


...

  

...

echo $LAST_COUNT >$COUNT_FILE

...


...

else

...


...

  # sonst Inhalt lesen und erhöhen, dann Speichern

...


...

  

...

LAST_COUNT=`cat $COUNT_FILE`

...


...

  

...

expr $LAST_COUNT + 1 >$COUNT_FILE

...


...

fi

...


...

# Es ist ein 5-stelliger Zähler

...


...

# Der Wert wird jeweils durch die 5 Werte dividiert, das Ergebnis ergibt die

...


...

# einzelne Ziffer für jede Stelle

...


...

for i in 10000 1000 100 10 1

...


...

do

...


...

  

...

FILENAME=`expr $LAST_COUNT / $i`

...


...

  

...

while 

...

[ $FILENAME 

...

-gt 9 

...

]

...


...

  

...

do

...


        # solange der Wert größer 9 ist, weiter durch 10 teilen

...


        FILENAME=`expr $FILENAME % 10`

...


...

  

...

done

...


...

# Der Wert bildet die Grundlage für den Dateinamen der Grafik, welche

...


...

# die einzelnen Ziffern enthält also 0.gif enthält die ?0"

...


...

# der Tag für die Anzeige der Grafik

...


...

  

...

echo '<img src=/graphics/'$FILENAME'.gif border="0">'

...


...

done

...


...

echo '</TD></TR></TABLE>'

...


...

echo '</CENTER>'

...


...

echo '</BODY></HTML>'

...