Mulder: Problem mit OOP und Sessions bei Reload

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.