Ich glaube nicht, dass er wirklich nur eine Session-Variable klonen möchte, sondern hier gehts wohl darum, die eigene Session durch eine andere zu ersetzen.
Das ist zwar prinzipiell möglich, sofern man die ID der zu übernehmenden Session kennt und weiß, wie man damit an deren Daten kommt. Allerding sollte er sich bewußt sein, dass eine Session einen Zustand widerspiegelt. Wenn zwei User auf einer Session arbeiten, passieren unvorhersehbare Dinge - das kann nicht gewollt sein!
Er sollte die Session also keinesfalls komplett übernehmen (kein session_start() mit der fremden ID), solange der Eigentümer diese Session noch nutzt.
Natürlich kannst du gefahrlos Werte aus einer fremden Session inspizieren (session-save-path + SID + unserialize). Nur zurückschreiben sollte man eben sein lassen.
Original geschrieben von onemorenerd Was soll ihm das bringen?
Ich glaube nicht, dass er wirklich nur eine Session-Variable klonen möchte, sondern hier gehts wohl darum, die eigene Session durch eine andere zu ersetzen.
das sehe ich aber von seinem Beitrag nicht.
und es ist normale weise unproblematisch in eine session-variable ein array zu packen.
$_SESSION['test2'] = serialize($_SESSION['test']);
und bei nechster seite kann er schon
print_r(unserialize ($_SESSION['test2']));
machen.
session.save_path funktioniert aber nur in 99% der Fälle, im restlichen 1% werden Sessions z. B. in der DB gespeichert.
Wenn die Session-ID bekannt ist, spricht doch nicht's dagegen, die eigene Session zu schließen, session_start mit der ID des anderen Users aufzurufen, $_SESSION in eine Variable zu sichern und dann die eigene Session wieder zu starten (Session des anderen Users schließen)
@slave
"eine Session" ist was anderes als eine Variable, die in einer Session gespeichert wird
Ich denke, also bin ich. - Einige sind trotzdem...
Original geschrieben von mrhappiness @slave
"eine Session" ist was anderes als eine Variable, die in einer Session gespeichert wird
das gebe ich zu!
wenn man lkomplet session-verte umtauschen möchte muss man ein anderen weg gehen.
Mich haben nur ein wenig seine definition
$_SESSION['test2'] = $_SESSION['test'];
in andere Richtung gezogen.
Ach so : @slave ist etwas anderes als mein Namen.
wie beschrieben übernehme ich die sessiondaten in eine query- daraus kommt eine ergenisliste im weiteren verlaufe verwende ich diese session und es kommen werte hinzu - wenn ich jetzt auf den zurückbutton klicke, dann müsste ich wieder auf den urzustand der session zurückgreifen können
da ich mir beim ersten schritt aus den sessiondaten eine query zusammenbastel - wie müsste ich es denn machen, dass ich diese query mit in die session übergebe und später diese query wieder verwende
Original geschrieben von jhaustein wie müsste ich es denn machen, dass ich diese query mit in die session übergebe und später diese query wieder verwende
Kommentar