Version 2.07 14.03.2001
basierend auf einem Skript von Matt Wright zu finden unter
http://www.worldwidemart.com/scripts
bearbeitet und ergänzt von
Das Gästebuch besteht neben dieser Anleitung und den Perl-Skripten "ohs_gbk.pl" und "ohs_gbk_update.pl" im cgi-bin des Servers aus den Dateien "gbk.cfg", "gbk.htm", "gbk_add.htm", "gbk_puf.htm" und "gbk_log.htm".
Kopieren sie aus dem Hauptverzeichnis des Servers den Inhalt des Ordners "ohs_gbk" mit den o.a. Dateien in ein Verzeichnis ("gbk/" genannt) ihres Home-Ordners im Hauptverzeichnis des Servers ("HOME/" genannt). Wenn sie wollen, können sie die Dateien umbenennen. Sie müssen dann in den Dateien sowie im folgenden die voreingestellten Bezeichnungen durch die neuen Namen ersetzen. Es wird im weiteren Text davon ausgegangen, dass sich die o.a. Dateien im Verzeichnis HOME/gbk/ befinden.
Varianten:
Der Gast beschreibt das Gästebuch gbk.htm. Der Eintrag ist sofort öffentlich lesbar.
Diese Variante stellen sie ein, indem sie in gbk.cfg mit_update=0 (s.u.) setzen.
Sie können dann die Datei gbk_puf.htm löschen und die Ausführungen über das Aktualisieren überspringen.
Um anonyme, unsinnige oder beleidigende Einträge oder solche mit ferkeligen URLs erst garnicht öffentlich zu machen, gibt es neben dem öffentlich lesbaren Gästebuch gbk.htm noch eine nicht öffentliche "Pufferdatei" gbk_puf.htm.
Der Gast schreibt nach gbk_puf.htm. Sie aktualisieren das Gästebuch, indem sie gbk_puf.htm herunterladen und die Einträge von Hand nach gbk.htm kopieren oder indem sie das Skript ohs_gbk_update.pl benutzen.
Diese Variante stellen sie mit_update=1 ein (s.u.).
Die Datei "gbk.htm" ist das eigentliche Gästebuch. Sie finden diese Seite (sowie auch die anderen HTML-Seiten) in Rohfassung vor. Editieren sie sie nach ihren Vorstellungen. Zum Testen sind sie gebrauchsfertig, wenn sie alle rot markierten Teile angepasst haben.
Im Gästebuch muss es genau einmal die Zeile <!--begin--> geben! Diese Zeile wird jeweils durch den neusten Eintrag ersetzt.
Damit dieses möglich ist, müssen sie auf dem Server die Write-Attribute setzen. (Mit "ws_ftp": 1. serverseitig Datei markieren / 2. rechte Maustaste / 3. chmod wählen / 4. dreimal read + write markieren / 5. OK. Ansonsten "chmod 666" )
Die Datei "gbk_puf.htm" ist der Eingabepuffer.
Auch hier muss genau einmal die Zeile <!--begin--> erscheinen! Setzen sie ebenfalls die Write-Attribute.
Wer keinen Wert auf den Puffer legt, kann ihn in gbk.cfg durch mit_update=0 abschalten (s.u.).
In die Datei "gbk_log.htm" wird ein Kurzprotokoll aller Einträge geschrieben, auch der fehlerhaften Versuche. Sie enthält alle Aufrufe von ohs_gbk.pl in der Form: "Datum - REMOTE_HOST - Status".
Vergessen sie nicht, genau einmal die Zeile <!--begin--> zu notieren und ebenfalls die Write-Attribute zu setzen.
Wer keinen Wert auf den Logfile legt, kann ihn in gbk.cfg durch mit_log=0 abschalten (s.u.).
Jetzt müssen sie einige Anpassungen vornehmen:
Die Datei "gbk_add.htm" enthält das Formular, mit dem ein neuer Gästebucheintrag erzeugt wird.
Die Attribute der Formular-Komponenten dürfen nicht verändert werden! Eine andere Plazierung der ganzen Tags innerhalb <FORM>...</FORM> ist natürlich möglich.
Sie können in ihrem Gästebuch auf die Eingabemöglichkeit von Wohnort und Land, E-Mail oder URL verzichten. Entfernen sie dazu die entsprechenden <INPUT>-Tags aus dem Formular. Setzen sie dann in gbk.cfg unbedingt die Schalter mit_Stadt=0, mit_Email=0 bzw. mit_URL=0 (s.u.).
Die Perl-Skripten lesen beim Aufruf die Konfigurationsdatei gbk.cfg in dem eben definierten Verzeichnis. Diese Datei enthält alle notwendigen Informationen für das Verhalten und das Layout ihres Gästebuchs.
Syntax der Einträge:
Konfiguration:
Sie müssen die Datenstruktur und das Speicherverhalten des Gästebuchs beschreiben:
Styling des Gästebuchs:
Sie können eine Maske festlegen, die die Form des Gästebucheintrags bestimmt.
Die Variablen $N[ame], $S[tadt], $L[and], $M[ail], $D[atum] und $K[ommentar] werden - falls vorhanden - durch die Eingaben des Gastes ersetzt.
Der Eintrag kann ein Bildchen (Pin, Button, ...) enthalten. Benutzen sie zur Plazierung die Variable $B[ild].
Die Variablen können von Umgebungen {X...X} eingeschlossen sein. Diese werden nur zusammen mit der zugehörigen Variablen $X ausgegeben.
Alle anderen Zeichen erscheinen wie notiert. Beachten sie die oben erwähnte Ersetzung einiger Zeichen durch ihren Hex-Code. Ein Zeilenende wird mit "\n" erzeugt. Ein Dollarzeichen darf nicht vor den Buchstaben N, S, L, M, D, K und B stehen
Die Voreinstellung generiert einen Eintrag wie in gbk.htm abgebildet:
maske =
<p>{B$B\nB}<b>$K</b><br>\n
$N{M%20<$M>M}{S,%20$S{L%20($L)L}S}%20-%20$D</p>
So sieht ein Standard-Eintrag aus!
Name <E-Mail-Adresse>, Stadt (Land) - Datum
Ein anderer Vorschlag:
maske =
<p><table><tr%20valign%3D"bottom">
<td>{B$BB}</td>
<td><small>$N{M%20<$M>M}<br>
{Saus%20$S{L%20($L)L}S}%20schrieb%20am%20$D:</small></td>
</tr></table>\n
<b><i>$K</i></b></p>
Super Gästebuch! Quack!
Donald Duck <dd@barks.com>
aus Entenhausen (USA) schrieb am 30.02.1998:
Enthält maske die Variable $B, so ist der Pfad des Bildes relativ zum Gästebuch (!) anzugeben. [Voreinstellung: nichts]
pin_pfad = RELPFAD/BILD.gif
Wollen sie dem Gast erlauben, seinen Eintrag selber mit HTML-Tags zu gestalten, so setzen sie mit_html = 1, andernfalls 0 [Voreinstellung].
Wollen sie dem Gast erlauben, seinen Eintrag selber mit Zeilenumbrüchen zu gestalten, so setzen sie mit_br = 1, andernfalls 0 [Voreinstellung].
Haben sie mit_br=0 gesetzt, so können sie mit mit_cr = 1 die eingegebenen Zeilenumbrüche erhalten. Wird der Schalter auf 0 gesetzt [Voreinstellung], wird jeder Zeilenumbruch durch ein Leerzeichen ersetzt. Der ganze Eintrag wird dann zu einer Zeile umgeformt.
Gibt der Gast eine E-Mail-Adresse an, so wird diese im Absender notiert und kann mit einem mailto-Anker hinterlegt werden. Soll dieses geschehen, setzen sie mit_mlink = 1 [Voreinstellung], andernfalls 0.
Soll zwischen den Einträgen ein Strich als Separator gesetzt werden, so notieren sie mit_hr = 1 , andernfalls 0 [Voreinstellung].
Soll der jeweils neueste Eintrag zuerst ins Gästebuch eingetragen werden, so schreiben sie abfolge = 1 [Voreinstellung], andernfalls 0, falls der Eintrag ans Ende soll.
Styling der Fehlermeldungen:
Bei unvollständiger Eingabe und evt. zur Bestätigung des Eintrags werden Meldungen an den Gast zurückgesendet. Um diese Seiten ihrem Gästebuch anzupassen, können die <BODY>-Attribute background, bgcolor, text, link, vlink und alink in der üblichen Weise genutzt werden.
Der Pfad des Hintergrundes ist relativ zu HOME/ zu notieren [Voreinstellung: nichts]:
background = PFAD/BGBILD.gif
Die Farben sind ohne # zu notieren: bgcolor = ffffff [Voreinstellung].
Haben sie ein Gästebuch ohne Stadt und Land, E-Mail bzw. URL eingerichtet, so setzen sie die betreffenden Schalter mit_stadt, mit_email oder mit_url auf 0. Es wird dadurch verhindert, dass nach unvollständigen Eingaben in den Fehlermeldungen nach diesen Einträgen gefragt wird. Voreinstellung ist jeweils 1.
Haben sie mit_email=0 gesetzt, wird natürlich mit_mlink bedeutungslos.
Antwortverhalten:
Rufen sie das Skript mit folgenden Parametern auf (HOME und PSW anpassen!):
http://www.hh.schule.de/cgi-bin/ohs_gbk_update.pl?cfgfile=HOME/gbk/gbk.cfg&pwd=MeinPasswort&status=auswahl
Der Puffer gbk_puf.htm wird gelesen und ein Formular mit Kurzinformationen über die enthaltenen Einträge erzeugt:
Wählen sie die zu übertragenden Einträge und die Art der Aktualisierung aus. Achten sie darauf, dass seit der Erzeugung des Formulars keine neuen Einträge in den Puffer vorgenommen wurden. Sie könnten evt. ungelesen gelöscht werden.
Beginnt eine Zeile in gbk.htm mit <!--update-->, so erscheint hier das Datum der letzten Aktualisierung.
Als Bestätigung der erfolgten Aktualisierung wird gbk.htm mit den neuen Einträgen angezeigt.
Jeder kann mit dem obigen Aufruf ihr Gästebuch aktualisieren. Stellen sie den Aufruf des Skripts deshalb nicht ins Internet, sondern verwalten sie ihn auf einer Seite auf ihrem Rechner!
Um etwas Sicherheit zu haben, kann der Schalter Pwd = MeinPasswort definiert werden. Der eingestellte Wert wird mit dem Passwort im Aufruf verglichen und bei Nichtübereinstimmung die Aktualisierung abgebrochen. Es erfolgt eine Prüfung mit Beachtung von Groß-/Kleinschreibung. Bleibt Pwd leer, kann der psw-Teil im Aufruf des Skripts entfallen.
Und nun viel Spaß!