Variable haben einen Namen und einen Inhalt. Variablennamen müssen mit einem Buchstaben beginnen und dürfen "beliebig" viele weitere Buchstaben, Ziffern und den Unterstrich enthalten.
Eine Variable bekommt ihren Inhalt vom Server (Umgebungs- und Includevariable) oder durch Zuweisung mir der #set-Direktive.
Mit Hilfe der #echo-Direktive kann der Inhalt einer Variable an beliebiger Stelle innerhalb eines HTML-Dokuments ausgegeben werden.
Soll der Inhalt einer Variablen innerhalb einer Zeichenkette oder eines regulären Ausdrucks verwendet werden, muß vor den Namen der Variablen ein Dollarzeichen geschrieben werden.
Die folgende SSI-Anweisung definiert eine neue Variable und weist ihr den Inhalt der Umgebungsvariable REMOTE_ADD zu (ohne das Dollarzeichen vor REMOTE_ADDR ürde die Variable dagegen die Zeichenkette "REMOTE_ADDR" anstelle des Inhalts der gleichnamigen Variablen enthalten):
<!--#set var="MyVar" value="$REMOTE_ADDR" -->
Soll in einer Zeichenkette das Dollarzeichen verwendet werden, so muß man es durch einen vorangestellten Backslash "entwerten":
<!--#set var="MyVar" value="Diese Variable enthält ein Dollarzeichen: \$" -->
Sollen mehrere Variableninhalte zu einer Zeichenkette zusammengefügt werden, kann es zu Mehrdeutigkeiten bei der Interpretation des Ausdrucks kommen. Um die Variablen eindeutig zu bezeichnen, können die Variablennamen mit geschweiften Klammern umgeben werden (das Beispiel ist noch verbesserungswürdig ;-):
<!--#set var="MyVar" value="http://${SERVER_NAME}:${SERVER_PORT}${DOCUMENT_URI}" -->
*Falls Sie hier kein Ergebnis sehen, kann das daran liegen, daß der Server kein SSI unterstützt - oder daß Sie die Dateien vielleicht herunter geladen haben und nun lokal ohne einen Webserver aufrufen.