Hallo zusammen,
ich hab nen Problem mit der Serialisierung von Objekten in eine Session. Aber nun erstmal grundlegendes zum Verständnis.
Ich habe eine Startseite (index.php) diese instantiiert meinen Dispatcher (Dispatcher.class.php). Im Dispatcher werden die Requests (POST/GET) zusammengeführt und gleichermaßen behandelt. Wenn jetzt z.B. die Variable "page" den Wert "login" enthält (egal ob POST/GET) dann wird ein SecurityManager instantiiert (SecurityManager.class.php) der eine Methode (login($username, $password)) beinhaltet. Der SecurityManager beinhaltet zusätzlich Benutzername, BenutzerID, Rechte usw. daher muss ich den SecurityManager via Sessions immer im Zugriff haben.
Jetzt kommt genau das Problem.
Nach der Instantiierung wird der SecurityManager in ne Session geschoben.
Ab diesem Zeitpunkt arbeite ich nur noch mit der Session. Also auch der Login, welcher das Objekt wieder manipuliert (Benutzername usw.)
Der erste Zugriff auf das Objekt via Session klappt problemlos. Das heißt wenn ich nach Instantiierung direkt auf das Objek zugreife bekomme ich ne Ausgabe. Lade ich z.B. die Seite neu, bekomme ich keine Ausgabe - Hier ist das Problem.
Ich bekomme einfach keine Ausgabe nachdem irgendwas passiert (Request o.Ä.) ist.
Selbstverständlich habe ich im Dispatcher und auch in der index File jeweils den include des SecurityManagers vor dem session_start() gemacht.
Hoffe ich könnt mir helfen - es ist echt wichtig ...
Danke im Vorraus.
Gruß Sven
ich hab nen Problem mit der Serialisierung von Objekten in eine Session. Aber nun erstmal grundlegendes zum Verständnis.
Ich habe eine Startseite (index.php) diese instantiiert meinen Dispatcher (Dispatcher.class.php). Im Dispatcher werden die Requests (POST/GET) zusammengeführt und gleichermaßen behandelt. Wenn jetzt z.B. die Variable "page" den Wert "login" enthält (egal ob POST/GET) dann wird ein SecurityManager instantiiert (SecurityManager.class.php) der eine Methode (login($username, $password)) beinhaltet. Der SecurityManager beinhaltet zusätzlich Benutzername, BenutzerID, Rechte usw. daher muss ich den SecurityManager via Sessions immer im Zugriff haben.
Jetzt kommt genau das Problem.
Nach der Instantiierung wird der SecurityManager in ne Session geschoben.
Code:
$_SESSION['securityManager'] = new SecurityManager();
Der erste Zugriff auf das Objekt via Session klappt problemlos. Das heißt wenn ich nach Instantiierung direkt auf das Objek zugreife bekomme ich ne Ausgabe. Lade ich z.B. die Seite neu, bekomme ich keine Ausgabe - Hier ist das Problem.
Ich bekomme einfach keine Ausgabe nachdem irgendwas passiert (Request o.Ä.) ist.
Selbstverständlich habe ich im Dispatcher und auch in der index File jeweils den include des SecurityManagers vor dem session_start() gemacht.
Hoffe ich könnt mir helfen - es ist echt wichtig ...
Danke im Vorraus.
Gruß Sven
Kommentar