[Variablen] globale variablen wieder lokal mchen

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

  • [Variablen] globale variablen wieder lokal mchen

    Wie kann ich globale variablen wieder lokal machen bzw. löschen. Habe nämlich das problem, dass ich eine $variable mit global versehen hab und nun lässt sich der inhalt nich mehr richtig ändern.
    Ich hab schon im Manual nachgeschaut, konnte aber dazu nix passendes finden.

    Ich hoffe ihr könnt mir helfen.

  • #2
    $variable mit global versehen hab und nun lässt sich der inhalt nich mehr richtig ändern.
    Seltsam seltsam.

    vielleicht erzählst du mal, was du WIRKLICH gemacht hast.

    Kommentar


    • #3
      PHP-Code:
      $userdaten=userdaten_ausgeben($_SESSION);
      global 
      $userdaten
      Die Variable enthält ein Array mit dem Namen und dem Rang des users.

      Mittlerweie ist das
      PHP-Code:
      global $userdaten
      nicht mehr im script, aber das script reagiert immernoch wie wenn das eine globale variable wäre.

      Restart des Apache bringt auch nix.

      Kommentar


      • #4
        Mit dem Schlüsselwort global erhält man Zugriff auf eine globale Variable und legt keine an.

        Vorwiegend wird dieses Schlüsselwort in Funktionen benutzt.

        Hier die Doku: http://de3.php.net/language.variables.scope


        Für Globale, also überall verfügbare Variablen könntest du eine Klasse mit den passenden Bearbeitungsfunktionen erstellen.


        cya max


        An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

        Kommentar


        • #5
          leider hilft mir das nicht bei meinem Problem.
          Das script reagiert derzeit so, als ob ich immernoch global vor der Variable hätte. Und ich weis nicht, wie ich das ändern kann. Ich hab nirgends mehr das global drin

          Kommentar


          • #6
            leider hilft mir das nicht bei meinem Problem.
            Leider hilfst du uns bei der Problemlösung nicht weiter....

            Das script reagiert derzeit so, als ob ich immernoch global vor der Variable hätte.
            DEFINIERE! Wo ist dein Code? Was passiert, was soll passieren? Debugging?

            Ich hab nirgends mehr das global drin
            du hast max' Posting nicht wirklich gelesen/verstanden, habe ich recht?

            Kommentar


            • #7
              hier mal die Abschnitte, die mit der Variable passieren:
              login.php
              PHP-Code:
              function user_daten($sid)
              {
                  
              $query="SELECT t1.nickname AS name, t1.rang, t1.user_id as uid
                     FROM user t1, user_session t2"
              ;
                  
              $query.=" WHERE t2.sid='".$sid."' AND t1.user_id=t2.user_id LIMIT 1";
                  
              $zeiger=mysql_query($query);
                  
              $user_daten=mysql_fetch_array($zeiger);
                  return 
              $user_daten;
              }

              $user_daten=user_daten(session_id());
              session_register("user_daten"); 
              index.php
              PHP-Code:
              function userdaten_ausgeben($session)
              {
                  
              $user_daten=$session["user_daten"];
                  
              ksort($user_daten);
                  
              array_shift($user_daten);
                  
              array_pop($user_daten);
                  
              array_pop($user_daten);
                  return 
              $user_daten;
              }

              $user_daten=userdaten_ausgeben($_SESSION);
              # hier war das global $user_daten drin
              while(list($key$var)=each($user_daten))
              {
                  echo 
              $key.": ".$var."<br>";

              Ich hab max' post verstanden, aber das wusste ich vorher nicht bzw. nicht mehr.

              Die ausgabe der While-Schleife ist immer die gleiche, egal welchen user ich einlogge.
              EDIT:
              umbruch by TobiaZ
              Zuletzt geändert von TobiaZ; 29.01.2005, 17:52.

              Kommentar


              • #8
                haste mal $_SESSION überprüft? Debugging eben!

                Kommentar


                • #9
                  hm lag wohl doch an den Sessionvariablen. Was mich wundert, dass es vorher funktioniert hat. der fehler trat eben erst auf, als ich das global eingügte.

                  Danke schön.

                  Kommentar


                  • #10
                    klar, und dich hab pferde kotzen sehen...

                    Kommentar

                    Lädt...
                    X