Allgemeines zu Server Side Includes
Mit Hilfe von Server Side Includes (auch unter der Abkürzung
SSI bekannt) können Sie direkt innerhalb von HTML-Dateien
dynamische Informationen, z.B. Datum und Uhrzeit, einbinden.
Server Side Includes sind generell dazu gedacht, kleinere Teile
einer HTML-Seite dynamisch einzubinden.
Findet der Webserver eine SSI-Anweisung, die er ausführen
kann, so wird anstelle dieser Anweisung der angeforderte Code in
das HTML-Dokument eingebunden. Wenn Sie nun mit <!--esi
file="/scriptly/includes\bottom.html"-->
ein
vollständiges HTML-Dokument einbinden, kann es Ihnen passieren,
dass die “resultierende” Webseite plötzlich z.B. über mehrere
Kopf-Bereiche verfügt und nicht mehr valides HTML ist.
Datei test.html
highlight- as: html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<html>
<head>
<title>Dynamisches HTML mit Server Side Includes</title>
</head>
<body>
<h1>Dynamisches HTML mit Server Side Includes</h1>
<p>Diese Seite hat keine festgelegten Inhalte, sondern
wird vom Server zusammengesetzt.<p>
</body>
</html>
Datei test.inc
highlight- as: html
<p>
Auf einer Meierei,
<br />
da lebte einst ein braves Huhn,
<br />
das legte, wie die Hühner tun,
<br />
an jedem Tag ein Ei.
<br />
Und kakelte, mirakelte, spektakelte,
<br />
als obs ein Wunder sei.
</p>
Die Beispieldatei test.html enthält insgesamt sechs
Zeilen mit SSI-Anweisungen.
- In der ersten Anweisung fragen Sie ab, ob der
aufgerufenen URL ein Parameter in der Form
?test
mitgegeben wurde. Den Namen dieses Parameters müssen Sie
innerhalb der SSI-Anweisung selbst in Slashes (Schrägstriche)
einfassen, was ungefähr dem entspricht, was Sie von Perl als
regulären Ausdruck kennen.
- Trifft dies zu, werden die anderen Anweisungen bis
<!--#else -->
befolgt. Das bedeutet: in
der zweiten Anweisung wird der Variablenname
param
festgelegt, die Variable erhält
gleichzeitig einen String (den Satz:”Sie haben die Seite mit
dem test-Parameter aufgerufen”) als Wert zugewiesen
- und in der dritten Anweisung geben Sie mit
echo
(auch wieder ähnlich dem Perl-Befehl) den
Wert der Variablen param
am Bildschirm aus.
Trifft dies nicht zu (haben Sie also keinen Parameter an die
URL angehängt), so werden die zweite und dritte Anweisung
ignoriert.
- Die vierte Anweisung legt fest, dass es eine Alternative
geben soll, falls Sie die URL nicht mit einem zusätzlichen
Parameter aufgerufen haben.
- Die fünfte Anweisung veranlasst den Webserver, an dieser
Stelle den gesamten Inhalt der Datei test.inc
einzubinden, falls nicht zuvor in den
if
-Zweig
gewechselt worden war.
- Mit der letzten Zeile wird die if/else-Bedingung beendet.
Eine solche abschließende Zeile müssen Sie immer angeben,
wenn Sie mit solchen bedingten Anweisungen arbeiten
möchten.
Mit dem Einsatz von if/else-Bedingungen und Variablen in
SSI-Anweisungen können Sie die Erscheinungsweise Ihrer Webseite
auf vielfältige Weise variieren. Beispielsweise können Sie von
Übergabe-Parametern abhängig machen, ob bestimmte Links angezeigt
oder ganze Textblöcke überhaupt in die Seite aufgenommen werden
sollen. Sie können mehrere Parameter miteinander kombinieren und
sich damit ein dynamisches Navigationsmenü zusammenstellen. Sie
können den anzuzeigenden Inhalt komplett austauschen lassen
usw.
Server Side Includes stellen keine Alternative zu dem dar, was
Scriptsprachen wie Perl oder PHP an Möglichkeiten anbieten. Mit
SSI können Sie bestehende Dateien nicht verändern, Sie können
nichts speichern, nur in geringem Umfang Formulardaten
berücksichtigen, keine Berechnungen ausführen lassen und vieles
weitere. Aber für die “dynamische” Zusammenstellung von
Seiteninhalten bieten SSI einige großartige Perspektiven an, und
Sie müssen sich nicht erst mit den oftmals komplexen
Programmiertechniken der “großen” Scriptsprachen befassen.
Das ist eine gekürzte Faserung
von:
http://de.selfhtml.org/servercgi/server/ssi.htm
Sie können Includes an beliebigen Orten mit Pfad speichern
oder im Projekt festgelegten Include-Ordner. Das
Include-Verzeichnis legen Sie bei der Erstellung eines Neuen
Projekt fest. Somit können Sie sich das Eintippen des kompletten
Pfad sparen.
In Nummer 6 geben Sie den Include-Ordner ein.