Gerhard: include() nimmt keine GET variablen

Hallo!

Wenn ich mit include() eine Datei inkludieren möchte, dann funktioniert das komischerweise nur ohne irgendwelche Parameter.
==> include("test.php"); //korrekt
==> include("test.php?var1=hallo"); //warning

Warning: main(test.php?var1=hallo): failed to open stream: No such file or directory in /www/htdocs/w0057e56/index.php on line 131

Warning: main(test.php?var1=hallo): failed to open stream: No such file or directory in /www/htdocs/w0057e56/index.php on line 131

Warning: main(): Failed opening 'test.php?var1=hallo' for inclusion (include_path='.:..') in /www/htdocs/w0057e56/index.php on line 131

Die Datei existiert und wenn ich sie direkt aufrufe klappt auch alles mit Parametern. Gibt es eine Möglichkeit die Seite auch mit Parametern einzubinden?

Danke
lg Gerhard

  1. Moin!

    Wenn ich mit include() eine Datei inkludieren möchte, dann funktioniert das komischerweise nur ohne irgendwelche Parameter.

    Der Parameter von include() ist ein Dateiname im Dateisystem.

    GET-Parameter existieren nur bei HTTP-Requests über das Netzwerk.

    ==> include("test.php"); //korrekt
    ==> include("test.php?var1=hallo"); //warning

    Warning: main(test.php?var1=hallo): failed to open stream: No such file or directory in /www/htdocs/w0057e56/index.php on line 131

    Der Dateiname deiner Datei lautet "test.php" und endet nach dem "p", alle folgenden Zeichen gehören nicht zum Dateinamen - also sind sie dort nicht anzugeben.

    Wenn du in die einzubindende Datei Werte "reinreichen" willst, mach' dir ganz einfach die stinknormale Funktion von include() zunutze:

    Include fügt an Stelle des Befehls den Inhalt der benannten Datei als PHP-Programmcode ein (wobei man innerhalb der eingefügten Datei wieder im HTML-Modus startet und erst mit "<?php" in den PHP-Modus schalten muß).

    Der eingefügte Programmteil kann auf alle bis dahin definierten Variablen des einfügenden Programms zugreifen!

    - Sven Rautenberg

    1. Ah ja
      schon klar

      Ja in dem Fall ist das sowieso kein Problem mehr.

      Danke
      lg Gerhard

  2. Hi,

    Wenn ich mit include() eine Datei inkludieren möchte, dann funktioniert das komischerweise nur ohne irgendwelche Parameter.
    ==> include("test.php"); //korrekt
    ==> include("test.php?var1=hallo"); //warning

    Dateisysteme kennen üblicherweise keine Parameter.
    http kennt Parameter, hat aber mit Dateien nichts zu tun (auch wenn PHP das manchmal durcheinanderwirft).

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.