[OOP] Unserialize von Objekt nach Übergabe durch Session mit Fehler

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

  • [OOP] Unserialize von Objekt nach Übergabe durch Session mit Fehler

    Hi,

    ich habe folgendes Problem: Und zwar lege ich nach dem Login ein Benutzerobjekt an. Dieses serialize() ich und weiße es der $_SESSION['user'] zu.

    Wenn ich es nun direkt wieder unserialize und per print_r ausgeben lasse, wird alles richtig angezeigt.

    Klicke ich nun auf einen Link an den ich die Session übergebe und unserialize ich es, kommt folgende Meldung:

    __PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => User [datarivate] => Array ( [uid] => 1 [name] => Mean [prename] => Machine [dateOfBirth] => 700-02-29 [street] => Keinestr. [hnr] => 12 [postal] => 00000 [location] => Musterhausen [email] => abc@def.gh [mobile] => Array ( ) [phone] => Array ( ) [icq] => 1234 [homepage] => http://www....de [userGroups] => Array ( ) ) )
    Auch wenn es wohl nicht viel Sinn macht das zu posten, aber hier mal, wie ich das ganze erstelle bzw. wie die Seite aussieht:

    Code:
    <?php
    ob_start();
    session_start();
    $sid = session_id();
    
    $user = new User($userData);
    
    $_SESSION['user'] = serialize($user);
    Die Unserialize-Seite sieht gleich aus (die ersten 4 Zeilen) und dann mache ich print_r(unserialize($_SESSION['user'])).

    Vielleicht kann mir ja jemand helfen - die 3 Themen die ich über die Suche gefunden habe waren leider nicht sehr hilfreich...

    Danke und Grüße,

    Marc

  • #2
    Re: [OOP] Unserialize von Objekt nach Übergabe durch Session mit Fehler

    Das Objekt eigenhändig zu serialisieren, ist Unfug. Das macht der Session-Mechanismus automatisch.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Du musst die Klasse vor dem session_start einbinden.
      ich glaube

      Kommentar


      • #4
        @wahsaga
        Und wie mache ich das bitte? Hab das Objekt jetzt einfach mal der Session['user'] zugewiesen (Session['user'] = $user). Bei print_r $_SESSION['user'] kommt dann aber immer noch der gleiche Fehler.


        @ministry:
        Ich habe jetzt das __autoload für die Klasse vor das Session_start gestellt und es klappt dann auch. Danke!

        Danke für eure Antworten! wahsaga, wenn du das noch posten könntest, wie man das Objekt von der Session serialisieren lassen kann, wäre das super!

        Danke und Grüße,

        Marc

        Kommentar


        • #5
          Original geschrieben von Mean
          wahsaga, wenn du das noch posten könntest, wie man das Objekt von der Session serialisieren lassen kann, wäre das super!
          Man legt es einfach in die Session rein, und hält ansonsten schön die Fingerchen still ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hmm, ok. Hab's vorhin schon probiert und war der Meinung, ich müßte es dann auch über unserialize wieder zum Objekt machen, was aber einen Fehler warf... O:-)

            Ohne ging's dann aber.

            Danke nochmals und Grüße,

            Marc

            Kommentar

            Lädt...
            X