Sessionhandling mit register_globals = on

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

  • #16
    was liefert die Methode getUserByLogin zurück? einen String oder ein Objekt?

    Kommentar


    • #17
      Die Methode liefert ein Objekt vom Typ "User" zurück. User ist eine selbstgeschriebene Klasse mit Attributen wie Login oder Firstname, E-Mail usw.

      PHP-Code:
      function getUserByLogin($login)
      {
          
      $db = new db();
          
      $dbStatus $db->connect();
         
          
      $user = new User();
          
      $result mysql_query("SELECT id, email, firstname, lastname, 
      lastlogin, created, locked, validate FROM user WHERE login LIKE '"
      .$login."'");
          while (list(
      $id$email$firstname$lastname$lastlogin
      $created$locked$validate) = mysql_fetch_row ($result))
          {
              
      $user->id $id;
              
      $user->login $login;
              
      $user->email $email;
              
      $user->firstname $firstname;
              
      $user->lastname  $lastname;
              
      $user->lastlogin $lastlogin;
              
      $user->created $created;
              
      $user->locked $locked;
              
      $user->validate $validate;
          }

          
      $dbStatus $db->disconnect();
          
          return 
      $user;

      Zuletzt geändert von asp2php; 08.03.2005, 09:11.

      Kommentar


      • #18
        versuch mal so:
        PHP-Code:

        $user 
        $uh->getUserByLogin($_POST["login"]);
        ...
        // ablegen
        $_SESSION["user"] = serialize($user);

        ....
        // auslesen
        $objUser unserialize($_SESSION['user']); 

        Kommentar


        • #19
          Danke für den Tipp! Er hat mich auf die Lösung gestossen! Mein Fehler war, dass ich die Bezeichner identisch gewählt habe! Ich habe die Objekte unter dem Namen "user" in der Session gespeichert, aber gleichzeitig auf den PHP-Seiten mit der lokalen Varialbe $user gearbeitet. Durch register_globals = on, wurde diese lokale Varialbe aber auch global hinterlegt, so dass ich den Inhalt von $_SESSION["user"] durch speichern von Daten in $user überschrieben habe! Ich habe jetzt den Bezeichner für die Ablage in der Sessin geändert und siehe da, schon funktioniert es!

          In diesem Sinne, also : Danke! :-)

          Kommentar


          • #20
            ich sag' immer: der Fehler ist externer Natur

            Kommentar

            Lädt...
            X