Popupfenster - include() Bug?

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

  • Popupfenster - include() Bug?

    Hi!

    Ich öffne ganz normal mit Javascript ein Popupfenster:

    test.php:
    PHP-Code:
    <html>
    <
    head>
    <
    script type="text/javascript">
    function 
    Popup( ) {
     
    window.open("popup.php","Fenster1","width=400,height=400");
    }
    </
    script>
    </
    head>
    </
    body>
     <
    input type="button" VALUE="Öffne Popup" OnClick="Popup( )">
    </
    body>
    </
    html
    Und nun mein Problem / Bug in der popup.php:
    PHP-Code:
    <html>
    <body>
    <?
     # include sql server settings
     include("sql.php");
     echo $sql_server; # -> an dieser Stelle kommt die Fehlermeldung
    ?>
    </body>
    </html>
    sql.php:
    PHP-Code:
    <?
     $sql_server = "meinsqlserver";
    ?>
    Fehlermeldung im Popupfenster:
    'Notice: Undefined variable: sql_server in popup.php on line 6'

    Was soll das? Die sql.php wird auf jeden Fall includet, wenn ich in sql.php testweise ein 'echo $sql_server;' einfüge, wird der String anschließend im Popupfenster angezeigt.

    Warum kann ich aber nicht aus der popup.php auf die Variablen aus der Includedatei zugreifen?

  • #2
    Hm. Das kann so fast nicht sein.... Du bist sicher, daß das include im richtigen Skript nicht in einer Funktion oder so aufgerufen wird?

    Kommentar


    • #3
      Nach etwas rumprobieren habe ich es jetzt rausbekommen, wo der Fehler liegt.

      Ich teste die Scripts auf einen eigenen Wamp Server.

      Bei einen

      include("sql.php");

      funktioniert es ohne Probleme, wenn alle Scripts direkt im htdocs Verzeichnis liegen.

      Meine Includescripts, sowie die popup.php, liegen aber nicht im htdocs Verzeichnis, sondern in Unterverzeichnissen, deshalb habe ich in popup.php mit:

      include("http://localhost/include/sql.php");

      versucht die sql.php zu includen. Wohlgemerkt hat das Einbinden der sql.php auch funktioniert (was ein echo in sql.php bewiesen hat), aber ich kann nicht auf die Variablen aus der sql.php über popup.php zugreifen...

      Sobald ich die Include-Anweisung folgendermaßen ändere

      include("c:/apache/htdocs/include/sql.php");

      ließt popup.php die sql.php ein und ich außerdem noch auf die Variablen zugreifen.


      Allerdings begreife ich jetzt nicht, warum er das bei
      include("http://localhost/include/sql.php");
      nicht tut, obwohl die sql.php ganz sicher auch eingebunden wird.
      Zuletzt geändert von Marco Gutenhof; 02.08.2004, 00:24.

      Kommentar


      • #4
        Allerdings begreife ich jetzt nicht, warum er das bei
        include("http://localhost/include/sql.php");
        nicht tut, obwohl die sql.php ganz sicher auch eingebunden wird.
        *g
        ich wollte vorhin schon fragen, ob du die datei per http includest, obwohl du es ja anders dargestellt hattest ....

        http://de3.php.net/manual/de/function.include.php
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Original geschrieben von Marco Gutenhof
          Allerdings begreife ich jetzt nicht, warum er das bei
          include("http://localhost/include/sql.php");
          nicht tut, obwohl die sql.php ganz sicher auch eingebunden wird.
          weil die datei beim include über http:// vorher geparst wird.
          d.h., du bekommst nur noch ihre ausgabe zu sehen (deshalb hat dein kontroll-echo ja auch "funktioniert"), aber der PHP-code wird nicht ins aufrufende script eingebunden - und deshalb gibt es auch die variable dort nicht.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X