Gästebuch mit Administrationsbereich
Art des Projekts: | Gästebuch |
Auftraggeber: | DEKRA Medienakademie |
Auftrag: | Konzeption, Design und Programmierung (PHP/MySQL) |
Von 2004 bis 2006 betrieb ich eine private Homepage. Das Gästebuch zu Creative Spotlight sollte universell einsetzbar und später erweiterbar sein, sich aber zunächst auf Funktionen konzentrieren, die ich auch für mein privates Gästebuch brauchen könnte und sich am Design meiner Homepage orientiert.
Das Studienprojekt basiert auf PHP und MySQL. Es verfügt über eine Suchfunktion, einen Badwordfilter, ein Admin-Control-Pannel, sowie ein im Design komplett anpassbares Frontend und eine 8-seitige Dokumentation mit Versionsbeschreibung und Installationshilfe.
Konzeption
Dynamische Website mit PHP
1. Zielsetzung
Ziel ist es, ein Gästebuch als dynamische Website zu programmieren, das auf PHP und MySQL basiert. Dieses Gästebuch soll universell und später erweiterbar sein, sich aber zunächst auf Funktionen konzentrieren, die ich auch für mein privates Gästebuch brauchen könnte. Das Gästebuch soll Frontend und Backend haben und dahingehend konfigurierbar sein, dass einzelne Funktionen an- und ausgeschaltet werden können und das Design mit wenigen Handgriffen angepasst werden kann.
2. Zielgruppe
Zielgruppe meines Gästebuches neben den späteren Usern bin ich zunächst selbst, um ein Gästebuch zu erhalten, das meinen eigenen Ansprüchen genügt und bei dem ich fähig bin, es weiter anzupassen und zu erweitern. Dabei soll aber auch ein Gästebuch herauskommen, das an andere weitergegeben werden kann, leicht verständlich, gut erklärt und vom Design her schnell anpassbar ist. Es bedarf also einer guten Usability im Backend und einem anpassungsfähigen Frontend.
3. Leistungsmerkmale
Über die Leistungsmerkmale eines Gästebuchs „von der Stange“ hinaus bin ich versucht, in der begrenzten Projektzeit sämtliche Features möglichst sinnvoll zu programmieren, im Feinschliff zu optimieren, schnell anpassbar und veränderbar zu machen. Der Beispielskin wird für das Gästebuch meiner privaten Homepage „Creative Spotlight“ angelegt. Weitere Skins sollen möglich sein.
Bereich für den normalen User
Spezielle Anforderungen an die Veränderbarkeit des Erscheinungsbildes (viele includes)
- Übersichtsseite mit Seiten-Blätterfunktion (10 Einträge/Seite) und Eintragsformular
- Name, Email, Homepage, Kommentar, kein Titel
- Schutz vor leeren Einträgen und 15 Minuten Schutz vor versehentlichen Doppeleinträgen
- Möglichkeit, die eingetragene Emailadresse nicht anzeigen zu lassen
- 15-minütige Editier- und Löschfunktion des zuletzt verfassten Beitrags
- HTML-Tags sollen als Text ausgegeben werden
- Suchseite mit Seiten-Blätterfunktion (5 Einträge/Seite)
- Suchfelder mit UND verknüpft
- Adminantworten können in die Suche einbezogen werden
- Editierfunktion mit Einzelausgabe des zu bearbeitenden Datensatzes
- Checkbox für Löschfunktion
- Zeitbeschränkung von 15 Minuten zum Bearbeiten
- Badwordfilter
Administrations-Bereich
- Sha1-Passwortschutz mit Abfrage von Name und Passwort
- Adminübersicht mit Seiten-Blätterfunktion (10 Einträge/Seite) und Eintragsformular
- Editier- und Löschfunktion für sämtliche Beiträge
- Kommentarfunktion
- Möglichkeit, Einträge statt sie zu löschen nur zu verstecken und später wieder sichtbar zu machen
- Adminsuche mit Seiten-Blätterfunktion (5 Einträge/Seite) und Eintragsformular
- Suche unter Einbeziehung versteckter Beiträge
- Editier-, Lösch- und Kommentarfunktion von gefundenen Beiträgen
- Adminedit wie normaler Editierbereich, allerdings ohne Zeitbeschränkung
- Kennzeichnung versteckter Einträge
Konfiguration
- Ein- und Ausschaltbare Funktionen (z.B. Wortfilter und Suche)
- Festlegbarkeit des Forennamens
4. Technologie
Das Gästebuch wird in PHP programmiert. Per include() wird ein HTML-Grundgerüst als Design geladen, welches mit CSS formatiert ist. Das Gestaltungsraster des Skins entsteht in Photoshop. Das CSS wird vorher an anderen Dateien getestet.
5. Zusammenfassung
Das Gästebuch ist eine dynamische Website, die auf PHP/MySQL basiert und mit HTML/CSS formatiert ist. Die Administration, über die es verfügt, ist einfach und verständlich programmiert und das Design des Gästebuchs ist mit wenigen Handgriffen an individuelle Vorstellungen anpassbar. Das gesamte Projekt hat im Ausgangszustand eine webfreundliche Größe von etwa 94kb. Das GB ist auf mehreren Browsern der aktuellen Generation getestet und läuft auf allen einwandfrei. Es gibt eine 8-seitige Dokumentation, die Installation, Benutzung und Funktionsweisen erklärt.
Das Gästebuch entsteht als alternative Modulprüfung des Moduls 0334 Digitales Gestalten (Modulteil 2) an der DEKRA Medienakademie. Alle PHP Quelltexte wurden von Stefan Jänisch im Rahmen des Projektes erstellt.
Technische Dokumentation
1. Status und Features
1.1. Version
2006-03-02 Version 1.0.1
Diese Dokumentation beschreibt den Zustand des Gästebuchs zum oben genannten Zeitpunkt
1.2. Featureliste
Frontend
- Einträge erstellen
- Verstecken von Email-Adressen
- 15 Minuten Schutz vor versehentlichen Doppeleinträgen
- 15 Minuten Editieren und Löschen des eigenen Eintrags
- Kontrollseite nach dem Editieren
- Ausgabe mit Blätterfunktion
- Badwordfilter (ausschaltbar)
- Verbot von HTML-Tags
- Suche nach Name, Email, Kommentar und Adminkommentar (ausschaltbar)
- Suchausgabe mit Blätterfunktion
- Design komplett individuell anpassbar über include und css
- Einfacher Skinwechsel im php möglich
Backend
- Passwortschutz mit Login
- Admin-Panel
- Textbasierte Ausgabe
- Einträge erstellen
- Einträge bearbeiten
- Einträge verstecken
- Einträge löschen
- Einträge kommentieren
- Verstecken von Email-Adressen
- Kontrollseiten nach Änderungen
- Ausgabe mit Blätterfunktion
- Verbot von HTML-Tags
- Suche auch in versteckten Datensätzen
- Suchausgabe mit Blätterfunktion
Übergreifend
- Dokumentation
- Kompatibilität mit aktuellen Browsern
2. Autor und Copyright
Diese Dokumentation und sämtliche PHP-Skripte wurden von Stefan Jänisch für das Modul „Digitales Gestalten II“ an der DEKRA Medienakademie erstellt.
3. Eigenschaften
Das Gästebuch (im Folgenden auch GB genannt) gliedert sich in ein Frontend und ein Backend. Viele Funktionen im Frontend und das Layout des Frontends assen sich leicht durch Veränderung einer einzigen Variablen in der inc/administration.inc.php ein- und ausschalten, bzw. verändern. Dies soll eine Anpassung
der Gästebuchfunktionen an verschiedene Anforderungen ermöglichen, so dass das entstandene Gästebuch-Skript vielseitig einsetzbar ist.Das Gästebuch läuft auf allen gängigen Browsern in der jeweils aktuellen Version.
4. Erklärung des Systems
4.1. Vorraussetzungen
Benötigt wird Webspace, auf dem PHP und MySQL laufen. PHP sollte mindestens in der Version 5 vorliegen und MySQL in der Version 5.0.15 und höher. Andere Versionen sind nicht getestet, können aber funktionieren. Als Software wird weiterhin benötigt ein FTP-Programm wie Filezilla (www.filezilla.de ) oder WS_FTP mit welchem das GB auf den Server geladen wird. Es geht auch mit WebFTP (z.B. http://www2ftp.de). Als Testumgebung empfiehlt sich das System von XAMPP (www.apachefriends.org/de)
4.2. Installation
Das Ausführen der install/install.php erzeugt eine Datenbank samt Tabelle in MySQL. In der open.inc.php müssen dazu die entsprechenden Serverdaten eingegeben worden sein. In der Testumgebung von XAMPP kann zunächst mit der Voreinstellung gearbeitet werden.
Die Beispieldatenbank install/gaestebuch_stefan.db enthält Beispieleinträge aus zwei meiner alten privaten Gästebücher. Sie kann auch entsprechend verändert werden. Um ein leeres Gästebuch zu erstellen, müssen einfach nur die Insert-Zeilen gelöscht werden.Durch die Installation entsteht in der Regel ein sofort nutzbares System. Einige Einträge aus meinem alten Gästebuch sind als Test in der Datenbank enthalten. Im Installationsordner findet sich weiterhin auch eine MySQL-Dump-Datei mit dem Namen gaeste.sql. Diese führt genau die gleiche Funktion aus und kann aus XAMPP gestartet werden
5. Benutzung des Systems
5.1.Konfiguration
Zunächst lässt sich das Erscheinungsbild des Frontends in der Datei inc/administration.inc.php an die persönlichen Bedürfnisse anpassen.
$skinpfad gibt den Ordner an, in dem die Header, Footer und Navigations-Incs liegen, welche per HTML formatiert und in sämtliche Frontenddateien included sind. Auch finden sich hier Bilder und Skriptelemente wie CSS oder JS , welche vom Header genutzt werden.
Standard-Einstellung ist „skin“ – in diesem Ordner liegt das Layout für das Gästebuch. Es können beliebig viele Skins parallel angelegt werden. Durch Änderung der Variablen $skinpfad kann sekundenschnell und absolut problemlos zwischen ihnen hin- und hergewechselt werden.$wortfilter schaltet die Wortstoppliste ein ($wortfilter=“1“;) und aus ($wortfilter=“0“;)
Die Wortstoppliste ersetzt vorher festgelegte Zeichenketten in Gästebucheinträgen durch eine gleiche Anzahl an Sternchen. Die Liste der Wörter lässt sich in inc/badwordlist.inc.php anpassen (Trennzeichen: #). Die Wortstoppliste ist im Backend immer deaktiviert, damit der Admin die Beiträge ungefiltert lesen kann.$gb_name legt den Namen des Forums fest, der in der Titelzeile erscheint. $suchfunktion schaltet die Suchfunktion im Frontend ($suchfunktion=“1“;) und aus ($suchfunktion=“0“;).
Beeinflusst nicht die Funktion der Suche im Admin CP.Im Skinpfad-Ordner liegen head.inc.php, tail.inc.php, navigation.inc.php und eine css-Datei. Mit ihnen lässt sich das Layout des Gästebuchs grundlegend verändern Im Ordner /inc/ lassen sich in ausgabe_row.inc.php und ausgabe_post.inc.php die Formatierungen der Ausgabe verändern, welche das Erscheinungsbild eines auszugebenden Datensatzes regelt und in Übersicht, Suche und Edit per include eingebunden ist.
5.2. Frontend
Das Frontend erscheint im vorher festgelegten individuellen Skin.
Eintrag hinzufügen
Über ein Formular auf der Übersichtsseite lassen sich Gästebucheinträge der Datenbank hinzufügen. Eingetragen werden können Name, Email (sichtbar/versteckt), Homepage und Kommentar. Hierbei wird ein Cookie geschrieben. Für die Dauer von 15 Minuten wird verhindert, dass jemand von diesem PC mit identischen Namen einen identischen Text postet (Fehlermeldung erscheint). Dies soll lediglich ein Schutz vor versehentlichen Doppeleinträgen sein. Identische Einträge von anderen Rechnern oder auch andere Einträge vom gleichen Rechner sollen nicht verboten werden.Eingetragen wird nur, wenn die Pflichtfelder Name und Kommentar ausgefüllt wurden.
Übersicht/Ausgabe
Unter dem Formular wird die Datenbank des Gästebuchs mit ihren einzelnen Datensätzen so ausgegeben, wie sie bei der Konfiguration formatiert wurde. Es werden 10 Datensätze pro Seite angezeigt, die anderen sind über eine Blätterfunktion (automatisch generierte Links) navigierbar. Sichtbar sind nur Einträge, die in der Administration nicht als versteckt markiert wurden. Die Email-Adresse wird per Mailto-Link auf den Namen gelegt und die Homepage bekommt ein kleines Icon. Beides wird nur in die Ausgabe eingebunden, wenn eingetragen und im Falle der Email nicht als versteckt markiert ist. Darunter steht, sofern vorhanden, ein Kommentar des Administrators. Ein Counter gibt die Anzahl der Einträge aus und zählt die chronologisch absteigenden Einträge auf 1 runter. Dieser Counter entspricht nicht der Datenbank-ID. Diese wird nicht ausgegeben.
Wurde gerade ein neuer Eintrag gemacht und ist die Lebenszeit von 15 Minuten des Cookies noch nicht abgelaufen, kann der letzte Beitrag editiert werden. Hierbei wird abgeglichen, dass Name und Kommentar mit den Cookiedaten identisch ist und da dies auf den Eintrag mit der Counternummer gleich der Eintragsanzahl zutreffen muss (also den chronologisch letzten), ist garantiert, dass nur der letzte Eintrag editiert werden kann und zwar von seinem Ersteller (dies umgeht geschickt einen IP-Abgleich). Egal, was in den nächsten 15 Minuten getan wird, der Eintrag lässt sich immer wieder editieren, es sei denn, er wird gelöscht.
Mit htmlspecialchars() wird html verboten, ohne Umlaute zu verbieten, so wie es htmlentities tun würde. Dies verhindert auch zerschossene Ausgaben durch versehentliche Verwendung von <> Zeichen
Bearbeiten (mit Löschen)
Ist das Cookie noch aktiv, kann auf die Editierseite zugegriffen werden, ansonsten kommt eine Fehlermeldung, die über die abgelaufene Bearbeitungszeit informiert. Ist das Cookie aktiv, aber der Eintrag wurde gelöscht, kommt auch hier eine entsprechende Meldung.
In dem Formular zum Ändern des Eintrages wird der komplette Datensatz noch einmal ausgegeben (inklusive aktiver oder inaktiver Checkbox zum Email-Anzeigen). Die Veränderungen können gespeichert oder auf den zuletzt gespeicherten Stand (Datenbank) zurückgesetzt werden. Per Checkbox (verhindert
versehentliches Löschen) kann der Eintrag bei Klick auf Ändern auch gelöscht werden. Es wird eine entsprechende Rückmeldung gegeben. Sowohl unter der Formulareingabe als auch auf der Kontrollseite erscheint der Eintrag immer in der aktuell gespeicherten Form so, wie er später in der Ausgabe aussehen wird. Beim Ändern des Eintrages wird das Eintragscookie neu geschrieben, der Bearbeitungszeitraum also um weitere 15 Minuten verlängert. Dies erlaubt außerdem dem Verfasser eines Beitrages, durch den Cookie-Abgleich von Name und Kommentar zu kommen und Einträge auch nach der einmal erfolgten
Änderung weiter zu ändern.Auch auf der Kontrollseite besteht die Möglichkeit, ohne Umweg über die Übersichtsseite noch einmal per Link auf die Editierseite zurückzugelangen und den Datensatz ein weiteres Mal zu ändern.
Suchfunktion
Die Suche ist über die Navigation erreichbar. Gesucht werden kann nach Namen, Email-Adressen, Kommentaren. Zusätzlich per Checkbox in die Suche mit einbezogen werden können Adminkommentare. Die Suchfelder sind UND-verknüpft. Kommentar und Adminkommentar sind untereinander OR-verknüpft. Gesucht werden Beiträge mit dem exakten Name, oder der exakten Emailadresse, was sinnvoll ist, um einen bestimmten User auszumachen. Die Suche in Kommentaren wird jedoch mit LIKE ausgeführt, so dass die Zeichenkette im Kommentar nur enthalten sein muss.
Gesucht wird nur in Einträgen, die nicht versteckt markiert sind und nach Email-Adressen, die nicht versteckt wurden.
Gesucht wird nur, wenn mindestens ein Suchparameter ausgefüllt wurde. Die Suchanfrage wird in ein Cookie gespeichert, weil die Post-Daten beim Blättern verloren gehen. Ausgegeben werden im Suchergebnis nur 5 Datensätze pro Seite. Die Anzahl der Suchergebnisse wird angezeigt.Die Suchfunktion kann in der administration.inc.php ausgeschaltet werden.
5.3. Backend
Das Erscheinungsbild des Backends ist funktional und rein textbasiert. Dies soll eine neutrale Administrationsoberfläche bieten, unabhängig vom gegebenenfalls grafiklastigen Design des Frontends. Die Usability bestimmt hier das Erscheinungsbild. Das Erscheinungsbild des Adminskins ist problemlos veränderbar, sollte aber nicht verändert werden.
PW-Schutz mit Login
Das Admin Control Pannel (Im folgenden auch Admin CP) ist passwortgeschützt. Ein Formular führt bei korrekter Eingabe von Login und Passwort zu einer Begrüßungsseite und schreibt die Logindaten in ein Cookie. Zum Anzeigen sämtlicher Admin CP Seiten ist ein Abgleich von Login und Passwort notwendig, ohne den eine Rückleitung zum Login erfolgt.Nach 2 Stunden ist die Lebensdauer des Cookies abgelaufen und ein erneuter Login wird notwendig. Das Passwort ist sha1()-verschlüsselt und kann somit selbst aus dem PHP-Quellcode nicht ausgelesen werden (entsprechende Kommentare sollten aus Sicherheitsgründen entfernt werden).
Eintrag hinzufügen
Funktioniert wie im Frontend (-> 5.2. -> „Eintrag hinzufügen“ ), nur dass hier kein Cookie geschrieben wird. Die Notwendigkeit eines Schutzes vor Doppelposts besteht nicht und die Einträge können sowieso alle editiert werden. Pflichtfelder sind dennoch Name und Kommentar.
Übersicht/Ausgabe (mit Bearbeitungsfunktionen)
Unter dem Formular werden in der Administration die Datenbank des Gästebuchs mit ihren einzelnen Datensätzen so ausgegeben, wie sie im include() vorformatiert sind. Hierbei ist eine textbasierte Formatierung vorgenommen worden. Email und Homepage liegen also als Text und nicht als Link oder Bild vor. Angaben zum Anzeigestatus der Emailadresse werden mit angegeben und versteckte Einträge erscheinen in grauem statt in orangefarbenem Rahmen und sind zusätzlich durch die Bemerkung „Eintrag versteckt“ gekennzeichnet. Die Daten des Datensatzes werden nur ausgegeben soweit vorhanden (z.b. Adminantwort).
Es werden 10 Datensätze pro Seite angezeigt, die anderen sind über eine Blätterfunktion (automatisch generierte Links) navigierbar.
Wie im Frontend zählt ein Counter die Datensätze runter. Auch hier ist HTML-Code verboten, jedoch erscheinen die Einträge ohne Filterung per Badwordlist und können nach Belieben bequem aus der Übersicht heraus jederzeit editiert, kommentiert oder gelöscht werden.
Antwort schreiben / Kommentieren
Per Klick auf Antworten in der Übersicht gelangt man auf die Editierseite des Admin CPs. Hier wird der ausgewählte Eintrag noch einmal in der Formatierung der Übersichtsseite angezeigt und der bisherige Admin-Kommentartext zusätzlich ausgewiesen, sofern bereits vorhanden. Per Formular kann eine Antwort an den Eintrag angehängt werden. Diese erscheint später mit der Zeile „Der Admin schrieb dazu:“ auch im Frontend. Per Aktivierung der Checkbox „Keine Antwort anfügen“ wird die bisherige Antwort gelöscht und eine ggf. neue nicht angefügt. Nach dem Eintragen folgt eine Kontrollseite, auf welcher der beantwortete Eintrag samt Antwort erscheint. Per Link kann zurückgegangen und noch einmal geändert werden.
Bearbeiten (mit Verstecken)
Die Bearbeiten-Funktion im Admin-Bereich funktioniert grundlegend wie die Editierfunktion im Frontend ( -> 5.2. -> „Bearbeiten (mit Löschen)“ ) , nur dass die Löschfunktion, da bereits in der Übersicht vorhanden, aus der Editier-Seite herausgenommen wurde. Als zusätzliche Funktion gibt es eine Checkbox, mit der Einträge unsichtbar und wieder sichtbar gemacht werden können. Unsichtbare Beiträge sind im Admin Bereich grau umrahmt und werden im Frontend nicht angezeigt. Beiträge können auf der Übersichtsseite per Klick in das Feld [X] gelöscht werden, welches sich rechts unter jedem Beitrag findet.
Suchfunktion (mit Ändern, Kommentieren, Löschen)
Die Admin-Suche ist über die Navigation erreichbar. Sie sucht wie die normale Suche ( -> 5.2. -> „Suchfunktion“) nach Namen und Email, in Kommentaren und Admin-Antworten. Hierbei wird aber auch in den versteckten Einträgen gesucht und auch nach versteckten Email-Adressen. Mindestens ein Suchparameter muss ausgefüllt sein. Ausgegeben werden auch hier 5 Einträge pro Seite und die Anzahl der Suchergebnisse.
Konfiguration
Die Konfigurationsseite gibt Hilfe, wie mit den Variablen in der administration.inc.php umzugehen ist.
6. Verzeichnisstruktur
6.1. Die Hauptseiten (Das root-Verzeichnis /)
open_angepasst.inc.php
In der open_angepasst.inc.php wird eine Verbindung zur MySQL-Datenbank hergestellt. Per include werden die Variablen aus der admin.inc.php eingebunden. Die open_angepasst.inc.php ist die wichtigste include-Datei, weil ohne sie die Datenbankanbindung nicht funktionieren würde.
mysql_gaestebuch_stefan.php
Frontend: Die Übersichtsseite, auf der Einträge gemacht werden können und im Gästebuch geblättert werden kann. Auf dem Server sollte sie dann später in index.php umbenannt werden.
mysl_edit_stefan.php
Frontend: Seite zum Bearbeiten von Einträgen, die nur funktioniert, wenn der Datensatz existiert und die Pflichtdaten mit denen im Cookie übereinstimmen.
gaestebuch_suche.php
Frontend: Die Suchmaske, welche nur dann verlinkt und angezeigt wird, wenn in der Konfiguration die Suche aktiviert wurde.
admin_pw_proof.php
Backend: Passwortschutz des Admin Control Pannels. Ohne das Cookie aus dieser Datei geht keine der Administrationsseiten.
mysql_gaestebuch_admin.php
Backend: Übersichtsseite des Admin CP, auf welcher alle Datensätze ausgegeben werden, von wo aus sie gelöscht, editiert und kommentiert werden können.
mysl_edit_admin.php
Backend: Auf dieser Seite können Antworten des Admins auf die Einträge vorgenommen werden. Sie werden in der Datenbank angehängt.
mysl_edit_admin_eintrag.php
Backend: Die Admin-Seite zum Bearbeiten und Verstecken von Einträgen funktioniert für alle Datensätze.
gaestebuch_suche_admin.php
Backend: Die Admin-Suche, welche mehr Suchergebnisse liefert als die normale Suche.
config.php
Kleine Anleitung für die Konfiguration in der inc/administration.inc.php
6.2. Die Includes (Das Verzeichnis /inc/)
Die Konfiguration
In der administration.inc.php werden grundsätzliche Funktionen des Frontends ein- und ausgeschaltet, der Verzeichnisname für den Skin und der Name des Gästebuchs festgelegt.
In badwordlist.inc.php kann die Liste mit zu blockenden Wörtern editiert werden. Sie ist von der eigentlichen Wortstoppfunktion isoliert, damit auch ein php-Unkundiger nicht viel kaputt machen kann.
Die Ausgabeformatierung
ausgabe_post.inc.php und ausgabe_row.inc.php formatieren die Ausgabe der Datensätze in den Hauptseiten. Ausgabe_post arbeitet dabei mit $_POST-Daten, ausgabe_row mit $row-Daten. ausgabe_post_admin.inc.php und ausgabe_row_admin.inc.php sind die Entsprechungen für das Admin CP.
Die wortfilter.inc.php liest die badwordlist.inc.php aus und ersetzt, sofern in der Konfiguration aktiviert, die Wörter aus der Liste mit Sternchen.
6.3. Der Gästebuchskin ( Das Verzeichnis /skin/)
/skin/ ist ein Standardverzeichnis. In der Konfiguration kann der Pfad geändert werden. Hier befinden sich alle Dateien rund um das Layout des Gästebuchs. Diese können individuell von GB zu GB variieren und vielfältig und komplex oder auch ganz einfach sein. Momentan finden sich hier drei .inc.php-Dateien, die
ein HTML-Gerüst um die Ausgabe bauen, sowie ein Ordner mit dem verwendeten Hintergrundbild, den Navigationsbuttons und ein Skriptordner mit einer CSS Datei. Es empfielt sich, für jeden Skin ein separates Verzeichnis anzulegen.6.4. Der Admin CP-Skin ( Das Verzeichnis /skin_admin/)
Dieses Verzeichnis ist die Entsprechung des /skin/-Verzeichnisses für den Admin-Bereich. Es empfiehlt sich, hier keine Veränderungen vorzunehmen. Das Admin CP wurde von mir auf Usability und nicht auf Prunk ausgelegt. Es muss funktional sein und ihm genügt eine sparsame Formatierung.
6.5. Das Install-Verzeichnis ( Das Verzeichnis /install/)
Das Ausführen von install.php erschafft eine Beispiel-Datenbank mit 16 Einträgen, von denen einige versteckt sind, manche Email-adressen, Admin-Kommentare oder Homepageadressen haben. Im /install/ findet sich außerdem eine MySQL-Dump-Datei.
7. Der Skin „creative-spotlight“
Miniatur-Styleguide
Gestaltungsraster und Bildsprache
Das HTML Grundgerüsst wird per include um die PHP-Funktion herumgebaut. Das Erscheinungsbild des Gästebuches orientiert sich hierbei an meinem Homepage-Design, auf welchem über eine 640x466px große Imagemap navigiert wird. Das Gästebuch übernimmt hieraus die Breite von 640 für die umschließende Tabelle und das Hintergrundbild ohne Navigationslinktexte. Die Formularfelder sind rechtsbündig dort angeordnet, wo sonst die Links sind. Navigiert wird über Symbolbuttons, die ich für mein Homepageforum angelegt hatte.
Schrift- und Farbschema
Die Schriftart ist Verdana 10-12px und die Farben sind #999999 grau und #FF9933 orange dem Farbklima und den Schriftvorgaben meiner Homepage entsprechend. Der Skinpfad wird in der Variablen $skinpfad festgelegt.