PHP in SSI includen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP in SSI includen

    Hallo zusammen,

    hab die Suchfunktion benutzt, aber leider keinen Eintrag gefunden, der mir weiterhilft. Mein Problem ist folgendes:

    Ich habe ein Formular in PHP entwickelt, welches ein SQL-Statement je nach den Eingaben des Benutzers generiert und ausgibt. Das ganze funktioniert einwandfrei.

    Wenn ich die PHP-Datei jetzt über SSI einbinden will (muss leider sein!), wird nichts ausgegeben, weil er die GET-Variablen nicht findet. Hab mir dann mit phpinfo() ausgeben die Umgebungsvariablen ausgeben lassen und da hab ich gesehen, dass im QUERY_STRING "no value" steht, dafür aber im QUERY_STRING_UNESCAPED die entsprechenden übergebenen Werte stehen. Wieso ist das so? Hat jemand Erfahrungen damit?

    Ich benutze XAMPP, SSI ist aktiviert...

    Meine shtml-Datei sieht so aus :

    PHP-Code:
    <html>
    <
    body>
    <!--
    #include virtual="../includes/header.shtml"-->
    <div style="width:500px">
    <!--
    #include virtual="testenv.php"-->
    </div>
    <!--/
    Content-->
    <!--
    #include virtual="../includes/footer.shtml"-->
    </body>
    </
    html
    testenv.php ist dabei die PHP-Datei, die eingebunden werden soll.

    Vielen Dank im Voraus

    Johannes

  • #2
    Kenn mich nicht mit SSI aus, aber warum wendest darauf nicht parse_str an?

    Kommentar


    • #3
      Wie gesagt, ich kann auf den QUERY_STRING aus irgendeinem Grund nicht zugreifen und die Funktion parse_str funktioniert mit QUERY_STRING_UNESCAPED nicht, habs gerade versucht.


      Hoppla, das funktioniert anscheinend doch...

      Vielen Dank
      Zuletzt geändert von adler1860; 11.01.2006, 15:17.

      Kommentar


      • #4
        http://www.zytrax.com/tech/web/ssi.htm
        Files which generate dynamic content may be included by SSI e.g. PHP or other CGI files but the variable QUERY_STRING is reset to null but QUERY_STRING_UNESCAPED remains valid with an additional \ between parameters (it has been processed twice).
        Dagegen hilft aber
        PHP-Code:
        $req parse_url($_SERVER["REQUEST_URI"]);
        $reqvals explode('&'$req['query']);
        foreach (
        $reqvals as $assertion) {
            
        $assertion explode('='$assertion);
            ${
        $assertion[0]} = $assertion[1];

        zu Beginn deiner testenv.php.

        Kommentar


        • #5
          Aha, vielen Dank. Das werd ich gleich mal ausprobieren.

          Mit parse_str funktionierts zwar auch, aber doch relativ umständlich.

          Also Danke nochmal

          Kommentar

          Lädt...
          X