CGIs auf dem RhoneWeb


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:
 A 
 B 
 C 
 D 
 E 
 Und noch andere... 

Beispielaufruf für Stil D:
Der zu verwendende Stil wird also als Parameter dd übergeben.

Parameter Übersicht
Syntax für die Parameter:

lit=123
Fast alle Beispiele auf dieser Seite wurden mit lit=X gemacht
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 Boolean B 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. 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).

Ihre Mailadresse:
Ihr Name:
Ihre Problembeschreibung :



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:

Achtung : In value darf nach dem "," kein Leerzeichen stehen!

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.