phpbar.de logo

Mailinglisten-Archive

[php] Dynamisches Web

[php] Dynamisches Web

Reiner Kukulies reiner.kukulies_(at)_uni-koeln.de
Fri, 14 May 1999 09:36:26 +0100


Am 14 May 99, schrieb Andreas Kraftl zu "[php] Dynamisches Web":

> Ich möchte ein komplett dynamisches Webangebot erstellen.

Da gibt es viele Möglichkeiten. Was soll sich denn in Abhängigkeit 
von welchen Bedingungen verändern? In jedem Fall ist es sinnvoll, 
Inhalt, Navigation und Layout weitgehend zu trennen.

Bei werbung.de (http://www.werbung.de und den anderen zu diesem 
Prohekt gehörenden servern) kommen alle Inhalte aus einer Datenbank. 
Auch die Menues werden dynamisch generiert. Die Layouts sind im 
Skript definiert und ändern sich je nach Benutzerrechten (können aber 
auch leicht für die gesamte Site geaendert werden). Alle Seiten 
werden über ein Hauptskript generiert.

Dieses Hauptskript heisst index.php. Alle anderen Verzeichnisse und 
Seiten sind SymLinks auf index.php. Z.B. wäre bei /info/ratgeber/job 
info ein SymLink auf index.php. In der Apache-Konfiguration steht

<Location /info> 
ForceType application/x-httpd-php3 
</Location>

damit info auch als PHP ausgeführt wird. Das eigentliche Skript 
index.php prüft als erstes, ob ein Benutzer eingeloggt ist und zu 
welchen Benutzergruppen er gehört. Dann ermittelt es, auf welchem 
Server es läuft (da das ganze Projekt über mehrere Server geht) und 
welche Seite der Benutzer haben will. Bei 
http://www.werbung.de/info/ratgeber/job weiss das Skript, daß der 
Server werbung.de ist, es selbst info heisst und als Parameter 
/ratgeber/job übergeben wurden. Es nimmt also das Layout für 
werbung.de (angepasst für den aktuellen Benutzer), generiert das Menu 
für die aktuelle Seite und holt den Seiteninhalt für 
/werbung/info/ratgeber/job aus der Datenbank. 

Die benutzerspezifischen Einstellung beschräneken sich zur Zeit auf 
zusätzliche Bedienungselemente für Administratoren (z.B. um den 
Seiteninhalt online zu bearbeiten) und für Besitzer von Inhalten 
(Bearbeitung von Firmeneinträgen, Jobanzeigen, Pressemitteilungen 
usw. durch den jeweiligen Autor). Geplant ist aber auch das Layout an 
persönliche Bedürfnisse anzupassen. Dann kann man zwischen 
verschiedenen Standard-Layouts wählen, Menues weg- oder z.B. auf Java 
umschalten oder einfach nur die grafikarme Version wählen.

In unserem Fall werden diese Einstellungen in der Benutzerdatenbank 
vorgenommen. Man könnte aber auch Parameter übergeben (?layout=xy) 
oder das Layout im url codieren (/layout.xy/info/ratgeber/job bzw. 
/info/ratgeber/jobs/layout.xy).

Man kann das natürlich auch von anderen Parametern wie dem Browser 
des Besuchers, seinem Host (z.B. um suchmaschinenspezifische Seiten 
zu liefern), der Tageszeit (morgens schweinchenrosa und abends 
nachtblau? ;)) und was einem sonst noch so einfällt abhängig machen.

Gruß, Reiner
-- 
NETZKONZEPTE - http://kukulies.de


php::bar PHP Wiki   -   Listenarchive