Sönke Tesch: SHTML datei - Variablen aus Adresse...

Beitrag lesen

Ich will eine einfache lösung für folgendes problem

Kinder mit'm Will'n.. ;>

Mit einem Pfad wie z.B.: http://www.domain.de/dateianzeigen.shtml?VH=1&VB=dateiname.htm&VF=34
soll die SHTML datei irgendwie angesprochen werden.

<!--#include virtual=VH -->

Wie kann ich die variablen aus der adresse übergeben?

Das Höchste der Gefühle, was die Parameter aus der URL angeht, ist die Umgebungsvariable $QUERY_STRING, die den kompletten Text nach dem Fragezeichen enthält.
Eine direkte Übergabe Deiner Parameter an include ist deshalb nicht möglich, aber sowieso nicht ratsam, da ansonsten einjeder fröhlich x-beliebige Dateien anzeigen lassen könnte, ob Du es nun willst oder nicht.

SSI bietet eine if-Konstruktion mit einfachen Textvergleichen, mit der Du exakt steuern kannst, was bei welchen Parameterwert passiert.

<!--#if expr="$QUERY_STRING = /a=1/" -->
  <!--#include virtual="a_ist_1" -->
  <!--#else -->
  <!--#include virtual="a_ist_nicht_1" -->
  <!--#endif -->

(Aufruf à la "test.shtml?a=1;b=2;c=3")

Wichtig beim if-Vergleich sind die Schrägstriche, die dafür sorgen, daß nur ein Teil von $QUERY_STRING geprüft wird (sprich: die Existenz des betreffeden Textes) und nicht der komplette Inhalt.

Bitte konsultiere die Apache-Anleitung, Kapitel mod_include, für weitere Details.

Gruß,
  soenk.e