Felix Senn: Parameterübergabe per #exec cgi="/cgi-bin/counter.pl" ?

Frage: Kann ich einer Server Side Include-Anweisung einen
oder mehrere Parameter übergeben und wenn ja, wie geht das?

ServerSideInclude Anweisung:
<!-- #exec cgi="/cgi-bin/counter.pl" -->
Bei dem Programmaufruf sollte noch ein Parameter übergeben werden.

Ziel ist es von mehreren Seiten das gleiche CGI-Programm zu starten. Die
Ausgabe soll sich jedoch je nach Seitentyp unterscheiden.
Weiteres Ziel:
Das CGI-Programm soll eine Datei auf dem Server öffnen und Informationen
auslesen. Da das Programm von mehreren Web-Seiten genutzt werden soll, wird
dem CGI-Programm eine Kennung übergeben, die es diesem ermöglicht eine Datei
zu öffnen und deren Inhalt dynamisch auf der HTML-Seite
darzustellen.

Kann jemand diese Frage beantworten?

Felix Senn

  1. Hallo Felix,

    ServerSideInclude Anweisung:
    <!-- #exec cgi="/cgi-bin/counter.pl" -->
    Bei dem Programmaufruf sollte noch ein Parameter übergeben werden.

    Das counter.pl muss dazu die Zeile enthalten:

    read(STDIN, $Daten, $ENV{'CONTENT_LENGTH'});

    Dann steht im Skalar $Daten anschliessend das, was beim Aufruf hinter dem Fragezeichen uebergeben wurde. Beispiel:

    <!--#exec cgi="/cgi-bin/counter.pl?Typ=4"-->

    Dann steht in $Daten: "Typ=4".

    Das musst Du dann natuerlich auseinanderdroeseln, um es weiterzuverarbeiten.

    Noch ein Hinweis: bei den Uebergabedaten hinter dem Fragezeichen empfiehlt es sich, die Regeln des Mime-Types www-form-url-encoded zu verwenden.

    Viele Gruesse
      Stefan Muenz