Hallo zusammen,
ich habe gerade folgendes Problem: Ich greife auf die Session eines anderen Users zu und wechsel daher permanent zwischen den eigenen und der fremden Session.
Vereinfacht dargestellt verwende ich folgenden Code:
Code:
<?php
class User_1
{
function GetSession($sessionId)
{
Session_Id($sessionId);
Session_Start();
$objRef = &$_SESSION['FremdeSession'];
$objRef->name = "Blabla";
Session_Write_Close();
}
}
?>
Ich erzeuge also ein Objekt vom Typ 'User_1' und rufe die Methode 'GetSession' auf und übergebe als Parameter die Session-Id der fremden Session. In der fremden Session befindet sich ebenfalls ein Objekt, diesmal vom Typ 'User_2'. Die Klassen-Definition für 'User_2' befindet sich selbstverständlich auch in dem aufrufenden Skript.
NUN DAS PROBLEM: Nach der Zuweisung ist 'objRef' nicht vom Typ 'User_2', sondern vom Typ 'stdClass'. Wenn ich den Inhalt der Methode 'GetSession' direkt im Code ausführe (also ohne Verwendung einer Funktion oder eines Objektes), dann erhalte ich das Objekt der fremden Session. Es muss doch auch so irgendwie gehen. Ich habe natürlich die komplette PHP-Dokumentation zum Thema Sessions schon mehrmals gelesen, aber keinen Hinweis auf eine Problemlösung gefunden. Kann mir da jemand helfen?
Viele Grüße, Jo