Anzeige


Dynamische Webseiten | Apache installieren | SSI programmieren || Impressum & Datenschutz

SSI Programmieren

Server Side Includes-Befehle werden ähnlich von HTML-Kommentaren in den HTML-Code eingebunden:
<!--#SSI-Befehl Parameter="Variable"-->

Erstellen Sie zunächst im Ordner htdocs im Apache-Verzeichnis einen neuen Ordner test, in welchem Sie alle Dateien, die Sie zum Testen erstellen, ablegen.

Die einzelnen Befehle

include
Dieser wichtigste Befehl dient zur Einbindung von Textdateien in die Webseite. Damit können Inhalte, die mehrmals im Webprojekt verwendet werden, an einer Stelle abgelegt werden. Änderungen müssen nun nur noch dort und nicht mehr auf jeder Einzelseite durchgeführt werden.

Erstellen Sie im Ordner test eine Datei index.shtml mit folgendem Inhalt:
<!--#include file="header.shtml"-->
Inhalt der Webseite
<!--#include file="footer.shtml"-->

Die Datei header.shtml hat folgenden Inhalt:
<html>
<head>
<title>SSI Seite</title>
</head>
<body>

footer.shtml sieht folgendermaßen aus:
</body>
</html>

Speichern Sie header.shtml und footer.shtml im gleichen Verzeichnis. Rufen Sie nun die Webseite auf, indem Sie http://127.0.0.1/test in die Adresszeile des Browsers tippen. Sehen Sie sich den Quellcode der Seite an, der Server hat alle drei Dateien zu einer zusammengesetzt.

Um Dateien einzubinden, die in einem anderen Verzeichnis liegen, benötigen Sie folgenden Befehl:
<!--#include virtual="verzeichnisname/datei.shtml"-->

echo (Umgebungsvariablen)
echo dient dazu, Werte des Servers auszulesen und auszugeben. Nicht alle Server unterstützen all diese Umgebungsvariablen, testen Sie, welche Ihr Provoder unterstützt.
Die Form des Befehls ist <!--#echo var="Umgebungsvariable"-->

Die verfügbaren Umgebungsvariablen sind:
DOCUMENT_NAME Name der Datei (z.B. index.shtml)
DOCUMENT_URI Name und Pfad der Datei (z.B. /test/index.shtml)
QUERY_STRING
QUERY_STRING_UNESCAPED
Der query-string. Dieser wird der Datei über die URL übergeben. Dies geht, indem man eine Datei index.shtml folgendermaßen aufruft: index.shtml?qs, wobei qs der query-string ist. Unescaped bedeutet, dass Sonderzeichen nicht dekodiert werden.
DATE_LOCAL Das Datum des Webservers
DATE_GMT Das Datum des Webservers in westeuropäischer Zeit (Greenwich Mean Time)
LAST_MODIFIED Änderungsdatum der Datei


flastmod
Gibt das Änderungsdatum einer bestimmten Datei zurück:
<!--#flastmod file="index.shtml"-->

fsize
Gibt die Größe einer bestimmten Datei zurück:
<!--#fsize file="index.shtml"-->

config (Formatierungen)
config erlaubt es, für die Ausgabe von bestimmten Variablen Formatierungen festzulegen. Dabei muss die Formatierung natürlich vor der Ausgabe erfolgen.
Die Form ist <!--#config parameter="variable"-->

Es gibt drei config-Variablen:

1. Das Zeitformat:
<!--#config timefmt="%var"-->
Folgende Formate stehen zur Verfügung:
%a Abkürzung für Wochentag
%A Wochentag
%b Abkürzung für Monat
%B Monat
%d Tag
%D Datum in Zahlen
%H Tag im 24h-Format
%I Tag im 12h-Format
%m Monatsnummer
%M Minuten
%S Sekunden
%T Uhrzeit
%y Zweistellige Jahreszahl
%Y Vierstellige Jahreszahl
%Z Zeitzone
Mehrere Parameter werden folgendermaßen angezeigt:
<!--#config timefmt="%A, %d"-->
<!--#echo var="DATE_LOCAL"-->
Wobei das Komma als solches ausgegeben wird.

2. Dateigröße für fsize:
<!--#config sizefmt="bytes"-->
<!--#fsize file="index.shtml"-->
Andere mögliche Angaben sind Kb für Kilobytes, Mb für Megabytes und Gb für Gigabytes.

3. Die Fehlermeldung für SSI-Fehler:
<!--#config errmsg="Neue Fehlermeldung"-->

if (bedingte Verzweigung)
Nicht alle SSI-Versionen beherrschen diesen sehr nützlichen Befehl. Testen Sie einfach, ob ihr Provider diesen unterstützt.
Der if-Befehl lässt sich zum Beispiel sehr gut dazu verwenden, um in einem Navigationsmenü die aktuelle Seite zu kennzeichnen.

Form des Befehls:
<!--#if expr="$Umgebungsvariable = Wert 1"-->
Ausgabe 1
<!--#elif expr="$Umgebungsvariable = Wert 2"-->
Ausgabe 2
<!--#else-->
Ausgabe 3
<!--#endif-->

Ist die erste Bedingung erfüllt, so wird Ausgabe 1 ausgegeben, bei der zweiten Ausgabe 2, ansonsten Ausgabe 3.
Die Befehle elif und else können auch weggelassen werden.
Wählen Sie die gewünschte Umgebungsvariable (siehe Liste unter echo, $ vorangestellt) und den Vergleichswert. Beispiel:
<--#if expr="$DOCUMENT_NAME = index.shtml"-->

Die Vergleichszeichen sind:
  • = (ist gleich)
  • != (ungleich)
  • > (größer)
  • < (kleiner)
Und-Verknüpfung:
<--#if expr="$DOCUMENT_NAME = index.shtml && $QUERY_STRING_UNESCAPED = check"-->
(Beide Bedingungen müssen zutreffen)

Oder-Verknüpfung:
<--#if expr="$DOCUMENT_NAME = index.shtml || $DOCUMENT_NAME = start.shtml"-->
(Eine von beiden Bedingungen muss zutreffen)

Joker:
<--#if expr="$DOCUMENT_NAME = neu.*/"-->
Trifft für alle Dateien zu, die mit neu anfangen.
<--#if expr="$DOCUMENT_NAME = /*.neu.shtml"-->
Trifft für alle Dateien zu, die mit neu.shtml enden.
<--#if expr="$DOCUMENT_NAME = /*.neu.*/"-->
Trifft für alle Dateien zu, die neu enthalten.


Nach oben
Stand der Informationen ist 2004. © Jumk.de Webprojekte




Anzeige