Variablenübergabe mittel "require"

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

  • Variablenübergabe mittel "require"

    Hallo Zusammen,

    ich versuche gerade Layout und "Scripting" sauber zu trennen!?
    Deshalb arbeite ich viel mit dem require-Befehl.

    <?php require("abc.php"); ?>

    Nun zu meiner Frage:

    Ich bekomme es nicht hin von der einen PHP-Datei, die ich durch "require" in meine Layout-Datei eingebaut habe, eine Variable an eine zweite PHP-Datei, die ebenfalls mittels "require" in die Layout-Datei eingebaut ist, zu übergeben!

    Ich dachte immer, dass zwei PHP-Dateien, die mittels dem "require"-Befehl in eine dritte PHP-Datei eingebaut wurden, ohne Probleme miteinander kommunizieren können.

    Also z.B.:
    PHP-Code:
    abc1.php:
    $var77 = "Hallo Welt";

    abc2.php:
    echo $var77;

    abc3.php:
    <?php   require("abc1.php"); ?>
    <?php   
    require("abc2.php"); ?>
    Aber das scheint nicht der Fall zu sein, oder???

    Für Hilfe im voraus vielen Dank!!!
    Gruß
    Jofris

  • #2
    PHP-Code:
    abc1.php:
    $var77 = "Hallo Welt";

    init.inc.php:

    include('abc1.php');

    function init() {

       global $var, ...;
    }



    abc2.php:
    echo $var77;

    abc3.php:
    <?php include('init.inc.php'); init();?>
    <?php  
    require("abc2.php"); ?>

    Müsste funktionieren

    MFG Micha

    Kommentar


    • #3
      den init() braucht man nicht.
      wenn du eine datei INCLUDEst, dann sind alle variablen bereits vorhanden.
      du muss nur statt deinem require ein include machen, damit sollte es dann schon klappen.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Hat nicht geklappt

        Vielen Dank Micha und Abraxax ,

        ich habe Eure Tips ausprobiert aber leider hat beides nicht funktioniert

        Hat vielleicht noch einer eine Idee! Muss doch möglich sein. Ich probiere jetzt schon seit einer Woche daran herum und wühle verzweifelt in den Foren nach weiteren Ideen !!!

        Für weitere Hilfe im voraus vielen Dank!

        Gruß
        Jofris

        Kommentar


        • #5
          Re: Variablenübergabe mittel &quot;require&quot;

          Original geschrieben von Jofris

          Ich dachte immer, dass zwei PHP-Dateien, die mittels dem "require"-Befehl in eine dritte PHP-Datei eingebaut wurden, ohne Probleme miteinander kommunizieren können.

          Aber das scheint nicht der Fall zu sein, oder???
          eigentlich schon ... :nochconfuseder:
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Re: Hat nicht geklappt

            Original geschrieben von Jofris
            ich habe Eure Tips ausprobiert aber leider hat beides nicht funktioniert
            versuche es doch mal mit einfachen dateien.... (nur zum test)

            PHP-Code:
            ERSTE DATEI -> dummy1.php
            <?php
            /* dummy1.php */

            $dummvar1 "nur der erste test";

            ?>


            ZWEITE DATEI -> dummy2.php
            <?php
            /* dummy2.php */

            include ("dummy1.php");
            echo 
            $dummvar1;

            ?>
            lege beide dateien in das gleiche verzeichnis und rufe im browser die datei dummy2.php auf.

            wenn der inhalt aus $dummyvar1 angezeigt wird, ist alles in ordnung....
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              dummy3.php

              Vielen Dank Titus und Abraxax,

              mit zwei Dateien klappt es natürlich. Das ist auch nicht das Problem.

              Ich möchte die beiden Dateien in eine Dritte in umgekehrter Reihenfolge includen (oder require[n]) und das bekomme ich nicht hin

              PHP-Code:

              <?php

              /* dummy1.php */


              $dummvar1 "nur der erste test";


              ?>




              ZWEITE DATEI -> dummy2.php

              <?php

              /* dummy2.php */


              echo $dummvar1;


              ?>



              DRITTE DATEI -> dummy3.php

              <?php

              /* dummy3.php */


              include ("dummy[b]2[/b].php");
              include (
              "dummy[b]1[/b].php");

              ?>
              Wie bekomme ich das Echo der $dummvar1 ausgegeben wenn ich erst die dummy2.php und dann die dummy1.php include?

              Ich versuche das, da ich in dummy1.php ein Pulldownmenü fülle (select option) und zusätzlich aus der dummy1.php Meldungen ausgeben möchte, die oben auf der Seite mit Hilfe von dummy2.php angezeigt werden.

              Für eine weitere Antwort wäre ich dankbar!

              Gruß
              (dummy) Jofris

              Kommentar


              • #8
                du kannst erst NACH einem include von DUMMY1 auch die VAR ausgeben. vorher ist sie natürlich nciht bekann.

                du kannst kein echo in der zweiten datei machen, die du zuerst includest, und dann erst die variablendefinition includen aus der ersten datei.

                das ist ja so als ob du geld ausgibst, was du noch nicht hast.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Vielen Dank Abraxax,

                  das ist ja so als ob du geld ausgibst, was du noch nicht hast
                  Kommt mir aber bekannt vor

                  Gruß
                  Jofris

                  Kommentar

                  Lädt...
                  X