Content Management System (CMS)
Ein wichtiger Part eines Content Management Systems (CMS) ist das generieren der HTML-Seite. Dies kann in verschiedenen Weisen angegangen werden. Oft sieht man dynamische Systeme in der Art domainnamen-xy.de/index.php?id=1
Dies ist unter dem Gesichtspunkt der Suchmaschinenoptimierung ungünstig (SEO = „search engine optimation“).
In der Regel sind die Inhalte der Seiten statischer Natur. Daher lassen wir unser Programm aus einer Vorlagedatei und den Inhalten einer Datenbank statische Seiten erstellen. Für das Beispiel nehmen wir unsere bereits erstellte Adressbuch-Anwendung (siehe relationen-tabellen-verbinden.htm) und lassen auf Wunsch aus einer Adresse eine HTML-Seite erstellen. Man könnte dies z. B. als Mitarbeiterverzeichnis ansehen.
Schritt 1: ID testen
Die Anwendung erwartet eine ID, damit klar ist, aus welchem Datensatz die CMS-Anwendung die Daten nehmen soll. Ist keine ID vorhanden, dann gibt es auch keine HTML-Seite und das Programm wird beendet.
Schritt 2: Datenbank auslesen
Aus der Datenbank werden die benötigten Felder ausgelesen.
Schritt 3: Vorlagendatei laden
Die Vorlagendatei "vorlage.htm" wird in eine Variable geladen (siehe dateien-auslesen.htm). Davor muss man natürlich erst mal diese Vorlagendatei erstellt haben. Erstellen Sie also eine komplette HTML-Seite mit Design und Co und Platzhalter an den Stellen, an dem die Daten erscheinen sollen. Als Platzhalter sollten wir eine eindeutige Kennzeichnung nutzen, z. B. vor den Vornamen dann "^vorname^". Dieses Dächchen wird sonst i.d.R. nie genutzt. Findet sich auf der Tastatur links neben der 1 und bekommt man erst nach zusätzlichem drücken der Leertaste.
Schritt 4: Ersetzen der Platzhalter
Ersetzen der Platzhalter. Alle Platzhalter müssen durch die Datenbankinhalte ersetzt werden. Die einfachste Methode ist:
$vorlage = str_replace( "^vorname^",
$datenbank[vorname],
$vorlage);
Pfiffiger geht es mit Arrays. Für das Beispiel hier ist es so ausreichend.
Schritt 5: HTML-Seite speichern
Speicher in einer Datei. Dabei sollte der Dateiname eindeutig gewählt werden. Dazu kann z.B. eine Kombination aus „id“ und einem oder mehreren Datenbankfeldern gewählt werden.
// und nun die Daten in eine Datei schreiben
// Datei wird zum Schreiben geöffnet
$handle = fopen ( $dateiname, "w" );
// schreiben des Inhaltes der Variable
fwrite ( $handle, $vorlage );
// Datei schließen
fclose ( $handle );
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: