Was ist CGI
Normalerweise
liefert der Server nur statische Daten die in einer Datei sind zu
Ihrem Client. Falls auf einer Seite Masken ausgefüllt werden
können, so müssen die Daten anschliessend zum Server transferiert
und dort verarbeitet werden. Diese Verarbeitung kann ein CGI-Script
erledigen. Ein CGI Script empfängt Daten und verarbeitet diese
weiter.
CGI heisst Common
Gateway Interface. Es ist das Kernstück der interaktiven
Fähigkeiten jedes Webservers. Mittels CGI können auf dem
Server bestimmte Programme ausgeführt werden.
CGI's aufrufen
CGI's sind auf allen unseren Linux-Servern installiert und können dort benutzt werden. Auf unseren Windows-Servern sind diese CGI's nicht installiert. Die meisten CGI's können aber trotzdem benutzt werden. Dazu muss kann man einfach die unter www.rhone.ch gespeicherten Versionen aufrufen. Also statt z.B. /cgi-bin/formmail.pl einfach http://www.rhone.ch/cgi-bin/formmail.pl benutzen. CGI selber schreiben
Um selber CGI-Script's
zu erstellen brauchen Sie eine spezielle Berechtigung auf dem Server.
Da mit einem CGI auch viel Schabernack getrieben werden kann, wird
der Serveradministrator nicht jedem dieses Recht geben.
Sie brauchen sehr
viel programmiererfahrung um ein CGI-Programm zu schreiben.
Deshalb sind auf
unserem Server einige CGI-Programme installiert die wir für die
Benutzer des RhoneWeb geschrieben haben. Diese Programme können
frei benutzt werden. Redirector
Mit dem Redirector,
haben Sie die Möglichkeit von der aktuellen HTML-Seite auf eine
andere Seiten zu gelangen. Benutzen Sie folgenden Aufruf in Ihrem
HTML-Script:
Die URL muss
vollständig angegeben werden. Daher können auch FTP-Adressen
aufgenommen werden. Sie können zusätzliche Einträge
der Art: <OPTION value=... eingeben bzw die obigen ändern.
Einfache Uhr
Mit dieser einfachen
Uhr können sie die Uhrzeit auf der WWW-Seite anzeigen.
Benutzen Sie den
folgenden Aufruf :
Je nach Aufruf erscheint die Uhr in einem anderen Format
Counter
Mit einem Counter
können Sie zählen, wie oft Ihre Seite besucht wurde.
ACHTUNG: Dieser Counter kann unter Win XP SP2 nicht angezeigt werden. Benutzen Sie statt dessen den Mega-Counter unten.
Benutzen Sie den folgenden Aufruf :
name_der_Seite ist dabei der Name einer Datei die beim ersten Zugriff
automatisch für Sie erstellt wird. Die Datei enthält danach
den aktuellen Zählerstand. Es gilt zu beachten, dass die Farbe
des Counter auf einigen Hintergrundfarben nur sehr schlecht zu sehen
ist. Bitte testen Sie dies und ändern Sie gegebenenfalls den
Hintergrund. Alternativ kann eine kleine Tabelle um den Counter erzeugt
werden und die Hintergrundfarbe dieser Tabelle angepasst werden. Mega-Counter
Dies ist der Mega-Counter.
Er ermöglicht die Anzeige eines Zählers in vielen Formen,
Farben und Werten.
Dies ist nur eine Kurzfassung der kompletten Anleitung
Der Standardaufruf für den Counter sieht so aus:
Benutzen Sie statt
meinname bitte einen beliebigen aber eindeutigen Namen der
nur aus Buchstaben und Zahlen in einem Wort besteht, z.B. den Homepagenamen.
Dieser Name wird benutzt um den richtigen Zählerstand zu ermitteln
und wird als Parameter df übergeben
Es gibt eine Vielzahl von Optionen. Der Counter kann in Form, Grösse,
Farbe etc verändert werden:
Der Zähler wird aus einzelnen Zahlen-Bildern, sogenannten "GIF
Digit-Strips", zusammengesetzt. Das RhoneWeb bietet folgende Stil-Varianten
an:
Beispielaufruf für Stil D:
Der zu verwendende
Stil wird also als Parameter dd übergeben.
Parameter Übersicht
Syntax für die Parameter:
Parameter
Name
Beschreibung
Beispiel
Standard
ft=X
Frame
Thickness (Randbreite)
Sie
können den Counter von einem Rand mit der Breite X
in Pixeln umgeben lassen. Benutzen sie 0 für die Darstellung
ohne Rand. Werte über 5 liefern einen netten 3-D Effekt.
ft=7
ft=0 Ohne Rand
frgb=R;G;B
Frame
Color (Randfarbe)
Bestimmt
die Farbe des Randes in RGB (rot/grün/blau) Format. Jede
Farbkomponente, R, G, B, rangiert von Farbe
0 bis 255. Wenn Sie ft=# ohne den frgb= Parameter
benutzen, wird die Standardfarbe verwendet.
Wenn Sie
frgb= ohne den Parameter ft=# benutzen, ist die Randbreite
= 5. Alle Beispiele zeigen ft=5.
frgb=69;139;50
frgb=255;0;0 Standard
frgb=100;139;216 Türkis
tr=B
Transparency
On/Off (Transparenz Ein/Aus)
Sie
können, falls ihr Counter-Bild eine transparente Farbe
hat, diese mit dem BooleanB bestimmen. Also bedeutet
tr=Y dass die transparente Farbe dargestellt werden wird
und tr=N bedeutet das Gegenteil. Es macht nichts, wenn
die GIF Dateien für den Counter transparent sind; wie schon
gesagt, sie müssen genau die Farbe bestimmen, die im GIF-File
als transparent eingetragen ist.
Wenn sie trgb=, bestimmt haben, brauchen sie nicht tr=Y
zu bestimmen.
Gültige Werte für B sind Y, N, T, F, 1, or
0.
tr=N
tr=Y
tr=N Keine Transparenz
trgb=R;G;B
Transparent
Color (Transparente Farbe)
Hier
legen sie die Farbe, die als transparent gelten soll, im rot/grün/blau
Format fest.
Wenn sie ein trgb= bestimmt haben, können sie den
Parameter tr=Y überspringen; er wird automatisch
für Sie eingeschaltet.
trgb=0;255;0 (grün)
trgb=0;0;0 (schwarz)
frgb=0;0;0 Schwarz
md=X
Max
Digits (Maximale Stellen)
Legt
die Anzahl der anzuzeigenden Stellen fest. Irgendein Wert zwischen
5 und 10 ist erlaubt. Nullen werden automatisch hinzugefügt;
grössere Zählungen werden an den gegeben Wert X
angepasst.
md=5
md=5 Beispiel mit 9 Stellen
md=10 Ohne Padding
pad=B
No
Padding (kein Padding)
Ein/Ausschalten
von Padding in Verbindung mit der md= Option.
Gültige
Werte für den Boolean Parameter B sind Y, N, T,
F, 1, oder 0.
(Wie in den Beispielen gezeigt, gibt es einige Bugs beim
Padding-Feature. Diese werden baldmöglichst behoben.)
pad=Y Mit dem Standard md=10
md=5&pad=N Kein Paddingwert kürzer als max. 5.
md=5&pad=N 9 Stellen ohne Padding.
pad=N Ohne die md= Spezifizierung pad=Y Mit md= Spezifizierung
st=X
Start
count (Start Zählung)
Wird
benutzt um einen neuen Counter zu erstellen. Stellen Sie den
Wert mindestens auf 1. Dieser Aufruf darf und kann nur ein mal
erfolgen.
(Kein
Beispiel darstellbar.)
st=1 Counter startet bei 1
sh=B
Show
digits (Zeige Zahlen)
Wird
benutzt um die Darstellung der Zahlen ein/auszuschalten. Benutzen
sie dazu den Boolean B. Wenn sh=T ist, werden
die Zahlen wie in den anderen Beispielen angezeigt. Falls aber
sh=F ist, werden keine Zahlen angezeigt, aber der Counter
wird stets weiter zählen; statt den Zahlen wird ein transparentes
1x1 Pixel GIF Bild angezeigt.
Gültige Werte für den Boolean Parameter B sind
Y, N, T, F, 1, oder 0.
Hier drüber ist ein unsichtbarer Counter!
sh=Y Zeige Counter.
df=file
Data
File for counting (Counter-Datenfile)
Bestimmt
den Namen der Datei, in der die Zählungen abgelagert werden
sollen. Dieser Dateiname ist = Ihrem User-Loginnamen.
Ein anderes
Feature ist die ZUFALLS Funktion (df=Random).
Eine zufällige Zahl.
df=RANDOM Schmeiss die Würfel! ;)
incr=B
Increment
count (Addiere zu Counter)
Macht
es möglich, den aktuellen Wert eines Counterfiles auszugeben
ohne eine Zählung hinzuzufügen.
Gültige Werte für den Boolean Parameter B sind
Y, N, T, F, 1, oder 0.
incr=F&df=username.dat incr=F&df=username.dat Dieser Counter wird nicht hochgezählt, ausser wenn ein
anderer User zur gleichen Zeit auf ihn zugreift, wie sie es
tun.
incr=T
lit=X
Display
literal (Zeige Placebo)
Macht
es möglich, einen vorgegebenen Wert anzeigen zu lassen.
Gültige Werte für den String X in Zahlen.
lit=123 Fast alle Beispiele auf dieser Seite wurden mit lit=X
gemacht
Keine
Formmail
Mit dem Script
"Formmail" ist es möglich Formular-Masken ausfüllen
zu lassen und die Daten via Email zu erhalten. Wir benutzen die sicheren nms-Scripts im formmail Kompatibilitätsmodus mit einer eigenen Sicherheitserweiterung. Achtung: Alle Feldnamen (z.B. recipient) müssen genau so geschrieben werde
wie sie hier stehen (Kleinschrift).
Alle Parameter müssen in normalen Anführungezeichen stehen!
Die versteckten (hidden) Kommandozeilen müssen auf einer Zeile sein
Die in der Variabeln 'referer' angegebene Webseite muss das identische abgesendete Formular enthalten (zumindest alle Felder und Inhalte).
Das ist der HTML-Code zum obigen Formular
Französisch: Englisch:
CSV:
Benötigte Felder recipient
Beschreibung :
Dieses Feld muss benutzt werden. Es enthält die Emailadresse
des Empfängers, also Ihre eigene.
Syntax :
referer
Beschreibung :
Dieses Feld muss die absolute Adresse (URL) des Formulars enthalten.
Wenn dieses Feld fehlt so funktioniert das Formular z.B. bei bei installierter "Norton Internet Sicherheit" nicht.
Syntax :
Optionale
Felder subject
Beschreibung :
In diesem Feld ist der Betreff des Emails abgelegt.
Syntax :
Wird gewünscht, dass der Benutzer den Betreff nicht ausfüllen
kann :
Falls gewünscht
wird, dass der Benutzer den Betreff selbst ausfüllen kann, erstellen
Sie einfach ein zusätzliches Eingabefeld im Formular:
email
Beschreibung:
Dieses Feld wird benötigt, um dem Benutzer die Möglichkeit
zu geben seine Emailadresse anzugeben. Die Adresse erscheint dann als Email-Absender. Syntax:
realname
Beschreibung:
In diesem Feld kann der Benutzer seinen Namen eingeben.
Syntax:
required
Beschreibung:
In diesem Feld wird angegeben, welche Felder der Benutzer ausfüllen
muss.
Syntax:
redirect
Beschreibung:
In diesem Feld kann die URL der Seite angegeben werden die nach dem
Versenden des Formulars erscheint.
Syntax:
oder
return_link_url
Beschreibung:
In diesem Feld kann die URL angegeben werden die benutzt wird, um
zu Ihrer Anfangsseite zurückzuspringen.
Syntax:
title
Beschreibung:
Dieses Feld erlaubt die Eingabe eines Titels. Er erscheint auf der
Folgeseite nach dem Versenden des Formulars, falls kein redirect benutzt
wurde.
Syntax:
background
Beschreibung:
Dieses Feld erlaubt die Verwendung eines alternativen Hintergrundbildes
auf der Folgeseite.
Syntax:
bgcolor text_color link_color vlink_color alink_color
Beschreibung:
Diese Felder erlauben die Farben der entsprechenden Seitenelemente
auf der Folgeseite zu ändern.
Syntax:
sort
Beschreibung:
Dieses Feld erlaubt die Ausgabe der Eingabefelder im Email zu sortieren.
Man kann alphabetisch oder nach einer vorgegebenen Reihenfolge sortieren.
Syntax um alphabetisch
zu sortieren:
Syntax um beliebig zu sortieren:
Andere Felder
Beschreibung:
Sie dürfen beliebig viele andere Felder hinzufügen. Die
Einträge dieser Felder werden dann einfach zusätzlich im
Email an den Empfänger gesendet.
Syntax:
Random Picture
Mit diesem Script
ist es möglich bei jedem Laden einer Seite zufällig ein
Bild anzuzeigen. Es existieren zwei Versionen des Scripts, eines für
Webseiten unter www.rhone.ch/meinehomepage und eines für eigene
Domains wie www.meinedomain.ch .
Erstellen Sie
eine Textdatei die als "Datenbank" dient und in der sich
die kompletten Webadressen (URL) der einzelnen Bilder befinden. Pro
Zeile ist eine URL zu einem Bild anzugeben:
Beispiel:
Speichern Sie
diese Datei und die drei Bilder picture1.gif, picture2.gif und picture3.gif
in Ihr Homepageverzeichnis. Der Aufruf des Bildes erfolgt mit dem
Pfad (relative Webadresse) dieser "Datenbank" als Parameter,
das ist die Angabe hinter dem Fragezeichen im folgenden Beispiel.
Dieser Pfad darf nicht mit einem / anfangen!
Homepages
Oder wenn Sie einen zufälligen Link auf ein Bild möchten:
Domains
Oder wenn Sie einen zufälligen Link auf ein Bild möchten: Guestbook
In einem Gästebuch,
können sich Personen eintragen.
ACHTUNG: Dieses Gästebuch wird nicht mehr unterstützt. Bitte benutzen Sie das wesentlich einfachere und umfangreichere unter my.rhone.ch
Um mit dem Gästebuch
zu arbeiten, müssen ein paar Vorarbeiten gemacht werden:
Erstellen Sie die beiden Webseiten im gleichen Verzeichnis:
form.html, ein Formular zur Eingabe von neuen Einträgen.
Der Dateiname kann frei gewählt werden.
guestbook.html, das Gästebuch mit allen Einträgen. Wenn
ein anderer Dateiname gewünscht ist, müssen Sie das versteckte
Feld "bookname" (siehe Beispiel unten) im Formular erstellen.
Wenn Sie möchten
(falls die Aufrufe im form.html vorhanden sind):
thanks.html, eine Dankesseite die nach dem Eintragen angezeigt
wird
required.html, eine Seite die angezeigt wird wenn nicht alle benötigten
Felder ausgefüllt wurden.
form.html
Diese Datei enthält
das Eingabeformular Ihres Gästebuches. Sie können die Seite
ganz nach Ihren Wünschen gestalten. Einzig das Formular muss
einigen Regeln folgen. Hier ein Beispiel für eine Homepage http://www.rhone.ch/meinehomepage
guestbook.html
Diese Datei ist
das Gästebuch und enthält alle Einträge. Diese Datei
muss für den Server beschreibbar sein. Stellen Sie die Zugriffsberechtigung
per FTP-Software auf 666 !
Hier ein Beispiel:
Wichtig :
Die Zeile mit dem Kommentar <!---Do not change or get rid of this
line-> darf nicht verändert werden!
Die Datei muss für den Webserver beschreibbar sein (666)!
required.html
und
thanks.html
Diese Dateien sind nichts besonderes, sondern einfache Webseiten die
dem Benutzer danken oder ihn darauf aufmerksam machen alle notwendigen
Felder (siehe requiedfields) auszufüllen.
Felder
Alle folgenden Felder werden wenn gewünscht als "Hidden"
dh. unsichtbar in das Formular "form.html" eingegeben.
bookname
Der Name der Gästebuch-Datei.
Falls nichts angegeben wird ist es: guestbook.html
requiredfields
Hier stehen die
Felder, welche der Besucher eingeben muss. Falls dieses Feld existiert
muss auch required angegeben werden.
required
Vollständiger
Pfad zu einer Webseite die aufgerufen wird, falls nicht alle notwendigen
Felder ausgefüllt wurden.
bulleturl
Grafik die am
Anfang jedes Eintrages dargestellt wird. Dies muss ein vollständiger
Pfad sein.
separator
Grafik, welche
die einzelnen Einträge trennt. Dies muss ein vollständiger
Pfad sein.
thanks
Dankeschön
Webseite, die nach dem Eintrag angezeigt wird. Dies muss ein vollständiger
Pfad sein.