Problem mit OOP und Sessions bei Reload
Mulder
- php
Ich habe ein Problem mit OOP und Speichern von Objects in Sessions.
Meine Syntax ist im wesentlichen so:
---s1.php---
<?
class dc_user {...};
session_start();
session_register("user");
$user=unserialize($user);
$foo = new dc_user;
$foo->setAttribute("vorname","Fox");
$user = $serialize(foo);
?>
<a href = "s2.php">Click</a>
---s2.php---
class dc_user {...};
session_start();
session_register("user");
$user=unserialize($user);
echo $user->getAttribute("vorname");
So, das klappt auch soweit ganz wunderbar und wie es mir die diversen Tutorials verraten haben.
Aber: wenn ich jetzt "Reload" klicke, ist das Objekt weg und er sagt mir
"Fatal error: Call to a member function on a non-object in D:\web-root\wwwroot\intranet\_dev\classes\index.php on line 33"
(also an der Stelle, wo ich auf $user->getAttribute() zugreife).
Die Tutorials sagen nur, daß die Objekt-Definition vor dem session_start() stehen muß (was sie tut); daß noch das serialize()/deserialize() nötig ist, habe ich selbst herausfinden müssen.
Ach ja, habe PHP 4.0.6.