globale variablen

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

  • globale variablen

    Ich glaube heute schieß ich wieder den vogel ab !
    Ich weiß auch nich weiter:
    Ich habe eine function , die mehrere if schleifen enthält :

    function xys() {
    blabla.....
    If blala {
    blabla
    ...

    Also mehrfach verschachtelt . Das problem : ich möchte jetzt eine Variable aus der function ins globale script überführen . Habs mit return versucht - nix.
    Global geht irgenwie auch nicht .

    hmm

  • #2
    Poste mal deinen Funktionsaufruf und deine Funktion.

    CAT Music Files

    Kommentar


    • #3
      Was meinste mit globales Script?
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        Function xyz() {
        Global $sid;
        $link=connect();
        mysql_select_db("*****");
        $anfrage="SELECT * FROM table WHERE sessionid='$sid'";
        If ($ergebnis=mysql_query($anfrage)){
        $number = mysql_num_rows($ergebnis);
        IF ($number == 1) {
        $anfrage2 = "SELECT id FROM table WHERE sessionid='$sid'";
        IF ($ergebnis2=mysql_query($anfrage2)) {
        $getid = mysql_fetch_array($ergebnis2);
        $id = $getid[0];
        }ELSE{
        echo "Fehlermeldung=".mysql_error();
        exit;
        }
        }ELSE{
        Header("Location: ../index.php?action=memlogin&error=1&sid=$sid");
        }ELSE{
        echo "Fehlermeldung=".mysql_error();
        exit;
        }
        }

        ich brauche ausserhalb dieser function die variable $id, innerhalb ist sie bekannt - habe ich getestet.

        Kommentar


        • #5
          mit globalem script meine ich die umgebung ausserhalb der function . so dass ich mit GLOBAL die variable aufrufen kann.

          Kommentar


          • #6
            function funktionsname (&$variablenname) {
            }

            Normal können an Funktionen übergebene Variablen innerhalb der Funktion nicht geändert werden..wenn du ein & davor setzt wird die globale variable überschrieben.
            (Ich glaube es war ads kaufmännische Und..bin mir aber nicht 100% sicher..und das buch ist oben..3 etagen entfernt..zu weit )

            ..weiß aber nicht ob du das überhaupt meinst..

            Kommentar


            • #7
              das geht mit return
              <?
              Function xyz() {
              // deine Funktion da muss an der Stelle wo Du $id bekommst stehen:
              return $getid[0];
              }
              //dann ausserhalb
              $id = xyz();
              // fertig sollte es sein
              ?>

              [Editiert von MelloPie am 04-01-2002 um 00:01]
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                Um es genauer zu sagen, wird hier eine Variable-Reference (ähnlich wie Pointer in C) übergeben, welche die Speicheradresse der Variable enthält, damit die Funktion direkt darauf zugreifen kann.

                CAT Music Files

                Kommentar


                • #9
                  die variable wird ja erst von der function erzeugt -> ist also vorher nicht bekannt.

                  Kommentar


                  • #10
                    ?

                    wo wird eine Variable erzeugt die du nicht vorher schon kennst ?

                    Was ist das Problem $id als global zu setzen und mit einen Wert zu belegen der illusorisch ist ? Ist doch kein Problem , oder ?

                    Kommentar


                    • #11
                      das is doch ne klassische return funktion die variable wird in der funktion erzeugt und soll draussen vorhanden sein ...
                      Wo ist das Problem?
                      Beantworte nie Threads mit mehr als 15 followups...
                      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                      Kommentar


                      • #12
                        Sorry ! Das problem lag wohl woanders . Aber danke für eure hilfe .

                        Kommentar

                        Lädt...
                        X