Was ist das Guestbook?
Einrichten des Guestbook
Vorlagen anpassen
Anmerkungen
Beim Guestbook handelt es sich um ein in PHP programmiertes Gästebuch, das seine Daten im CSV-Format (also in einer Textdatei) abspeichert und dessen Ausgaben größtenteils mit Hilfe von Vorlagen gesteuert werden.
Folgende Funktionen werden unterstützt:
Entpacken Sie die Dateien im Archiv guestbook.zip in einen beliebigen Ordner.
Sie finden nun folgende Dateien vor:
| Datei | Zweck |
| templates/ | Verzeichnis mit den Vorlagen - siehe nächster Abschnitt |
| add.php | Fügt Einträge hinzu und zeigt das Eingabeformular für einen neuen Eintrag an |
| config.php | Enthält die Konfigurationsoptionen |
| delete.php | Löscht einzelne Einträge und stellt dafür auch ein Formular bereit |
| entries.csv | Datendatei mit den einzelnen Einträgen |
| guestbook.css | Style Sheet für das Guestbook - brauchen Sie unter Umständen nicht |
| index.php | Zeigt die einzelnen Einträge auf einer oder mehreren Seiten an |
| readme.htm | Diese Datei |
| shared.php | Bibliothek mit gemeinsamen Werten und Funktionen |
Öffnen Sie als allererstes die Datei delete.php mit einem beliebigen Editor und passen Sie dort Benutzername und Kennwort (Werte $user und $password) an.
Als nächstes öffnen Sie die Datei config.php. Dort finden Sie verschiedene Konfigurationsoptionen. Sie müssen die vorgegebenen Werte nicht unbedingt ändern.
mepp legt fest, wie viele Einträge auf einer Seite maximal angezeigt werden sollen.navmode legt fest, wie Sie zwischen den einzelnen Seiten navigieren können.
Wenn es den Wert pc hat, wird unter den Einträgen eine Reihe von Zahlen angezeigt, die für die Seitennummern stehen.
Wenn hier fb steht, kann man durch "Vorwärts"- und "Rückwärts"-Links zwischen den Seiten navigieren.order den Wert 1 hat, stehen die neuesten Einträge oben im Gästebuch, bei 0 stehen die neusten Einträge am Ende.msg_minlen legt die minimale Länge der Mitteilung fest.name_minlen legt die minimale Länge des Namens fest.msg_too_short legt die Meldung fest, die angezeigt wird, wenn die eingegebene Mitteilung zu kurz ist.name_too_short legt die Meldung fest, die angezeigt wird, wenn der eingegebene Name zu kurz ist.emailad_invalid legt die Meldung fest, die angezeigt wird, wenn die eingegebene E-Mail-Adresse offensichtlich ungültig ist.wwwurl_invalid legt die Meldung fest, die angezeigt wird, wenn die eingegebene Homepage-Adresse offensichtlich ungültig ist.datafile legt fest, wo sich die Datei mit den Einträgen befindet.templatedir legt das Verzeichnis mit den Vorlagen fest.timeformat legt das Aussehen der Zeitangaben der Einträge an. Hier sind unter anderem die folgenden Platzhalter möglich:%a - abgekürzter Wochentag (z. B. Sun)%A - ungekürzter Wochentag (z. B. Sunday)%b - abgekürzter Monatsname (z. B. Jul)%B - ungekürzter Monatsname (z. B. July)%d - aktueller Tag des Monats, mögliche Werte sind 01 bis 31.%H - aktuelle Stunde im 24-Stunden-Format (z. B. 13), mögliche Werte sind 00 bis 23%I - aktuelle Stunde im 12-Stunden-Format (z. B. 01), mögliche Werte sind 01 bis 12%m - aktueller Monat des Jahres als Zahlenwert (z. B. 07), mögliche Werte sind 01 bis 12%M - aktuelle Minute der laufenden Stunde (z. B. 40), mögliche Werte sind 00 bis 59%p - Ausgabe der Tageszeit (z. B. PM), mögliche Werte sind AM oder PM%S - aktuelle Sekunden der laufenden Minute (z. B. 42), mögliche Werte sind 00 bis 59%y - aktuelles Jahr als zweistelliger Zahlenwert (z. B. 01), mögliche Werte sind 00 bis 99%Y - aktuelles Jahr als vierstelliger Zahlenwert (z. B. 2001)%% - Ausgabe des Zeichens %strftime().Sie können diese Werte anpassen, müssen aber nicht.
Zusätzlich können Sie noch die Vorlagen im templates-Verzeichnis anpassen - mehr dazu im nächsten Abschnitt.
Laden Sie, wenn Sie fertig sind, die Dateien ins Internet. Ändern Sie ggf. noch die Dateirechte von entries.csv, damit korrekt in diese Datei geschrieben werden kann.
Die Anpassung der Ausgaben des Guestbook erfolgt über Vorlagen, das sind die tpl-Dateien, die sich in dem Verzeichnis befinden, dass in shared.php in der Variable $templatedir (normalerweise templates) festgelegt ist. Jede der Vorlagen enthält Variablen in der Form {VARIABLENNAME}, die dann vom Guestbook durch entsprechende Daten ersetzt werden.
Hier nun eine Auflistung der einzelnen Vorlagendateien und der verwendeten Variablen (ohne geschweifte Klammern):
| Datei | Zweck | Verwendete Variablen |
| add.tpl | Wird geladen, wenn add.php keine Daten übermittelt bekommt. | Diese Datei verwendet keine Variablen. Sie müssen lediglich darauf achten, dass die Formularfelder die richtigen Namen bekommen (name für den Name des Absenders, emailad für die E-Mail-Adresse, www für die Homepage und message für die Nachricht) und die Daten an add.php gesendet werden.Sie können das Formular auch gleich in die Datei read.tpl verfrachten, dann sparen Sie dem Benutzer unnötige Klickerei. |
| add_error.tpl | Wird geladen, wenn beim Speichern eines neuen Eintrags ein Benutzerfehler (so etwas wie eine ungültige E-Mail-Adresse) aufgetreten ist. |
|
| blank.tpl | Wird geladen, wenn index.php aufgerufen wird, aber keine Einträge vorhanden sind (diese Datei hieß früher read_no_entries.tpl). | Diese Datei verwendet keine Variablen. |
| entry.tpl | Legt das Aussehen eines Eintrags fest. |
{IF Name_der_Bedingung} eingeleitet. Für Name_der_Bedingung können Sie die folgenden Werte einsetzen:
{ENDIF}. Wenn sich zwischen dem {IF} und dem {ENDIF} ein {ELSE} befindet, wird alles ab dem {ELSE} bis zum {ENDIF} angezeigt, wenn die Bedingung nicht erfüllt ist. Es ist selbstverständlich, mehrere Blöcke ineinander zu verschachteln.
|
| read.tpl | Wird geladen, wenn index.php aufgerufen wird. |
|
| saved.tpl | Wird geladen, sobald add.php einen Eintrag erfolgreich gespeichert hat. |
|
Das Guestbook wurde unter PHP ab Version 4.2.2 entwickelt und getestet. Vor einiger Zeit zeigte sich, dass es unter ganz alten PHP-Version (in diesem Falle war es Version 4.0.4) nicht funktioniert, da es nicht an die Formulardaten rankommt. Was da nicht funktioniert, würde ich selbst gerne mal wissen.
Wenn Sie die Möglichkeit dazu haben, empfehle ich, die Datendatei und die Vorlagen überhalb des Wurzelverzeichnisses Ihrer Homepage zu plazieren.
© 2003 Patrick Canterino
| Homepage: | http://www.patshaping.de/ |
| E-Mail: | patshaping@gmx.net |