| Verzeichnis | Links | Portrait | WEBlog | Kontakt |
Update: 25.06.2004 / rnö
Für das Projekt "Schrankenlos" sind eine Vielzahl von Datenseiten erforderlich, wir rechnen mit ca. 60 Seiten. Etliche Teile dieser Seiten wären identisch, z.B. die Navigation, der Seitenkopf, usw. Bei jeder Änderung in diesen Teilen müssten somit alle 60 Seiten abgeändert werden, was doch sehr mühsam wäre. Deshalb kam die Idee auf, diese Seiten aus einer Datenbank zu erzeugen. Es gäbe dann nur noch eine Seite, bestehend aus dem HTML-Gerüst mit dem Aufruf der im externen CSS-File definierten Ebenen und dem darin eingefügten PHP-Code, der den notwendigen Text aus der Datenbank holt und ins HTML-Gerüst einfügt.
Die Datenbank wurde mit MySQL realisiert. Die Seiten werden mit einer dreistelligen Zahl gekennzeichnet (siehe nächstes Kapitel). Für jede Seite können die folgenden sechs Felder erfasst werden:
Für die Ausgabe und für die Mutationen in der Datenbank gibt es die folgenden drei PHP-Programme:
Die Seiten des Projektes "Schrankenlos" umfassen drei Navigationsstufen:
Die Seiten werden aufgerufen, indem die Nummern der drei Navigationsstufen an die IP-Adresse angehängt werden (GET-Methode), also für die Seite mit der Nummer 230 etwa so:
http://www.schrankenlos.ch/inhalte.php?stufe1=2&stufe2=3&stufe3=0
http://www.schrankenlos.ch/inhalte.php/stufe1/2/stufe2/3/stufe3/0
http://www.schrankenlos.ch/inhalte.php/stufe1/x2/stufe2/y3/stufe3/z0
RewriteEngine on RewriteRule !\.(gif|jpg|png|css)$ /home/zenzeroch/public_html/schrankenlos/datenbank/inhalte.php
http://www.schrankenlos.ch/datenbank/inhalte.php/stufe1/x2/stufe2/y3/stufe3/z0
http://www.schrankenlos.ch/datenbank/inhalte.php
$url = $_SERVER['REQUEST_URI'];
In den folgenden Ebenen auf einer Datenseite des Projektes "Schrankenlos" werden Informationen aus der Datenbank eingefügt:
Hinzu kommt noch der Seitentitel, der ins title-Tag eingefügt wird.
Da alle notwendigen HTML-Tags im Textfeld mit erfasst werden, kann das in gewissen Fällen zu Schwierigkeiten führen. Die Steuerzeichen werden bereits bei der Erfassung interpretiert. Für den Fall von Code-Beispielen wurde die folgende Lösung getroffen:
Diese Beispiele werden bei der Erfassung in geschweifte Klammern eingeschlossen, also z.B.
{img src="home.gif" alt="Startseite"}
Vor der Ausgabe werden diese Klammern vom Programm inhalte.php in "<" bzw. ">" umgewandelt:
<img src="home.gif" alt="Startseite">
Und dies wird wie folgt angezeigt:
<img src="home.gif" alt="Startseite">
| nach oben | zurück |