Hyperkommunikation: Ein virtuelles Seminar zum Studiengang Konstruktives Wissensmanagement der Fachstelle für Weiterbildung der Uni Zürich

zurück ]     [ Inhalt ]     [ Log-Buch ]     [ TeilnehmerInnen ]     [ WebCT ]

 
CGI   -  Uebersicht   -  Internetkurs von www.bluewin.ch

 

MyPage CGI-Referenz

CGI - Common Gateway Interface top

CGI-Skripte werden für dynamische Inhalte einer HTML-Seite verwendet. CGI erlaubt dem Browser, über einen Webserver Scripte auszuführen. Solche Scripte findet man überall auf dem WWW: Suchmaschinen, Besucherzähler, Bannerrotationen Gästebücher, Formulare, etc.

Als MyPage-Benützer können Sie die bislang aufgeschalteten Skripte "Counter", "Guestbook" und "Formhandler" benützen und Ihren Bedürfnissen anpassen.

Formhandler top

Der Formhandler-Script ermöglicht die Platzierung eines beliebigen Eingabe-Formulars auf Ihrer MyPage. Die ausgefüllten Formulare werden an eine E-mail-Adresse (Form-to-Mail) weitergeleitet. So funktioniert's:

1. Erstellen Sie (z.B. mit Notepad) eine Datei "mail.txt".
In der ersten Zeile dieser Datei schreiben Sie diejenige E-mail Adresse, an welche die Auswertungen verschickt werden sollen.
Hinweis: Diese Datei muss ins gleiche Verzeichnis auf dem Webserver geladen werden, in welchem sich auch die HTML-Datei mit dem Formular befindet. Es wird nur die ERSTE Zeile ausgewertet.

2. Das Formular

Wichtig:

  • Der Pfad zum Formhandler heisst immer "/cgi-bin/formhandler.cgi" (absoluter Pfad), unabhängig davon, in welchem Unterverzeichnis die HTML-Seite mit dem Formular liegt.
  • Die E-mail Adresse muss abgefragt werden. Und zwar als Name="FROM"
  • Alle restlichen Parameter können Sie nach belieben ändern

    Beispiel Quelltext des Formulars, passen Sie ihn Ihren Bedürfnissen an:

    <!-- Der einleitende "Form" Tag: -->
    <form action="/cgi-bin/formhandler.cgi" method=POST>
    <!-- Betreff kann eingegeben werden, ohne SUBJECT-Input, kommt ein Standardwert: "Form Feedback" eingesetzt. -->
        <input type=hidden name="SUBJECT" value="Feedback Deiner MyPage">
    <!-- E-mail Adresseingabe -->
        Deine E-mail Adresse:<br>
        <input size=70 maxlength=70 name="FROM"><br>
    <!-- weitere "Inputs" können beliebig variert werden. Name und Value wird im Mail mitgeliefert -->
        Dein Name:<br>
        <input size=70 maxlength=70 name="Name"><br>
        Wann geht es Dir? <br>
        <input type=checkbox name="Zeit" value="m">heute<br>
        <input type=checkbox name="Zeit" value="morgen">morgen<br>
        <input type=checkbox name="Zeit" value="nicht"> Oops... gar nicht<br>
        <br>
        Mich interessiert<br>
        <input type=radio name="Thema" value="Aegypten"> Ägypten <br>
        <input type=radio name="Thema" value="Neuseeland"> Neuseeland <br>
        <input type=radio name="Thema" value="don't care"> Was immer die Mehrheit will<br>
        <br>
        Weitere Anregungen:<br>
        <textarea name="Anregungen" rows=10 cols=50></textarea><br><br>
        <input type=submit value="Absenden">
    </form>

    Dieser Code ergibt folgendes Formular:

    Deine Email Adresse:

    Dein Name:

    Wann geht es Dir?
    heute
    morgen
    Oops... gar nicht

    Mich interessiert
    Ägypten
    Neuseeland
    Was immer die Mehrheit will

    Weitere Anregungen:

    Das Feedback per Mail sieht dann z.B. folgendermassen aus:

    #der header
    From: Absender@bluewin.ch
    Date: Thu, 1 Feb 2001 12:05:35 +0100 (MET)
    Subject: Feedback Deiner Page

    #und der Body
    (unknown) wrote from machine 127.0.0.1 (at Thu, 1. Feb, 2001 - 12:05:35):
    Zeit: (morgen)
    Thema: (Aegypten)
    Anregungen: (Falls Du noch irgend welche Fressalien brauchst, gib mir Bescheid.)

    3. Weitere Konfiguration-Möglichkeiten

    Der Formhandler-Script überprüft die Formular-Absender Mailadresse. Falls eine ungültige Adresse eingegeben wird, wird eine standardisierte Fehlermeldung ausgegeben.
    Nach erfolgreichem Abschicken des Formulars gibt der Skript ebenfalls eine standardisierte Bestätigung aus.

    Es besteht die Möglichkeit diese Meldungen Ihren Bedürfnissen anzupassen. Dazu erstellen Sie HTML-Dokumente mit den Namen form_ok.html und form_error.html.
    Sind diese Dateien vorhanden werden sie bei Fehlermeldung und Bestätigung anstelle der vordefinierten Ausgebe an den Browser zurückgegeben.
    Hinweis: Diese beiden Seiten müssen ebenfalls im gleichen Verzeichnis sein, wo sich die HTML-Datei mit dem Formular befindet.

    Bei einer Fehlermeldung wird form_error.html zurückgegeben.
    Folgende Variabeln koennen dabei eingefuegt werden:

    Die Variablen werden vom Script formhandler.cgi ersetzt.
    $IP(Die IP-Adresse des Senders... falls vorhanden)
    $DATE(Die Zeit, wann das Formular abgeschickt wurde)
    $ERROR(Die Fehlermeldung)

    Bei erfolgreichem Senden wird form_ok.html zurueck gegeben. Dabei können folgende Variablen eingefügt werden:

    $IP(Die IP-Adresse des Senders... falls vorhanden)
    $DATE(Die Zeit, wann das Formular abgeschickt wurde)
    $MESSAGE(Die Formdaten, die der Sender eingegeben hat)

    Zu beachten ist, dass bei form_ok.html und form_error.html Verweise (<a href="..">) und Bilder (<img src="...">) immer mit absolutem Pfad angegeben werden muss!
    Beispiel absoluter Pfad: http://mypage.bluewin.ch/beispiel/link.html.

    Gästebuch top

    Das Gästebuch kann einerseits im Bluepage-Loader mit Klick auf "Gästebuch erstellen" erstellt werden. Andererseits kann man auch eine HTML-Datei mit dem Namen "guestbook.html" erstellen und diese dann via FTP oder via Bluepage-Loader selbst auf den Webserver laden.

    <!-- Das Form-Tag muss folgendermassen aussehen: -->

    <FORM ACTION=/cgi-bin/guestbook.cgi METHOD=POST>
    <TR><TD>Name:</TD>
        <TD><INPUT TYPE=TEXT NAME=NAME MAXLENGTH=80></TD></TR>
    <TR><TD>Email:</TD>
        <TD><INPUT TYPE=TEXT NAME=EMAIL MAXLENGTH=80></TD></TR>
    <TR><TD>WWW:</TD>
        <TD><INPUT TYPE=TEXT NAME=WWW MAXLENGTH=80 VALUE="http://"></TD><TR>
    <TR><TD>Titel:</TD>
        <TD><INPUT TYPE=TEXT NAME=TITLE MAXLENGTH=80></TD><TR>
    <TR><TD VALIGN=TOP>Meldung:</TD>
        <TD><TEXTAREA ROWS=7 COLS=70 NAME=TEXT ></TEXTAREA></TD></TR>
    </TABLE>
    <INPUT TYPE=SUBMIT VALUE=Abschicken>
    </FORM>
    <!-- GuestEntries (don't change this line) -->

    Es besteht auch die Möglichkeit das Gästebuch Eingabeformular von der "guestbook.html"-Seite zu trennen und auf einer anderen Seite zu plazieren und mit einem Link auf die Einträge zu verweisen. Die Einträge werden jedoch immer auf die guestbook.html-Seite unterhalb der Linie "<!-- GuestEntries (don't change this line) --> " eingetragen.

    Die Gästebucheinträge sind standardmässig auf 1000 Zeichen beschränkt. Die Beschränkung ist unter anderem auch ein Schutz, dass nicht das ganze Gästebuch einer Seite (über)füllt werden kann.

    Mit einem Befehl wie <INPUT TYPE=HIDDEN NAME="LEN" VALUE="2000"> kann ausserdem die Zeichenanzahl beim Gästebuch zusätzlich (im Beispiel auf 2000 Zeichen) erhöht werden.

    Gästebucheinträge sind normalerweise nicht besonders gross. Für längere Unterhaltungen und Mitteilungen bietet sich eher der Mailaustausch an.

    Zugriffszähler - Counter top

    Fügen Sie irgendwo in ihrem HTML-Code die Zeile <img src=/cgi-bin/counter.cgi> ein.
    Bei jedem Zugriff auf eine Ihrer Seiten, die diese Zeile enthält, wird Ihr Zähler erhöht.

    Es gibt nur einen Zähler pro Homepage, nicht für jede Seite einen. Möchten Sie das der Zähler wieder bei Null beginnt, löschen Sie einfach die Datei "Counter" in Ihrem Hauptverzeichnis.

    Beispiel Standardcounter: Es waren bereits Besucher auf dieser Seite!

    Counter Variationen:
    Neben dem oben beschriebenen Standardcounter kann man auch eine Variation des Counters verwenden.
    Dies erfolgt in dem man <img src=/cgi-bin/counter.cgi?COUNTER=gewünschterCounter> in den Quellcode einfügt.
    Es stehen folgende Variationen zur Verfügung:
    Bild Name im Quelltext
    Bluepleasant <img src=/cgi-bin/counter.cgi?COUNTER=bluepleasant>
    Whiteshadow <img src=/cgi-bin/counter.cgi?COUNTER=whiteshadow>
    Yellowglas <img src=/cgi-bin/counter.cgi?COUNTER=yellowglas>
    peachy <img src=/cgi-bin/counter.cgi?COUNTER=peachy>