phpbar.de logo

Mailinglisten-Archive

[php] Objekt in Session ohne Inhalt

[php] Objekt in Session ohne Inhalt

Sebastian Tobias Mendel genannt Mendelsohn lists at sebastianmendel.de
Fre Okt 31 08:53:24 CET 2003


> Ich bins nochmal. Erstmal vielen Dank für die vielen Tipps. Viel
> weitergebracht hat es mich nun leider noch doch nicht. Die Daten kommen
> immernoch mit über den Seitenwechsel.
> - Nicht mit, nicht ohne __sleep() und __wakeup()
> - nicht  a la $_SESSION['foo'] = new object(); oder
> session_register('foo');

nur nochmal zur Verdeutlichung, du hattest doch geschrieben das es nur 
um eine bestimmte Klasse ging , oder? Also das es mit anderen Klassen 
klappen würde!!!

Ja oder Nein?
wenn nein, besteht das Problem nur mit Klassen oder kannst keine 
Variablen in der Session speichern?


> Auch ein Umstellen der Initialisierung und Registrierung brachte nichts.
> Im Moment stehe ich bei:
> 
> Include('object.class');
> $foo = new obj();
> Session_start();
> $_SESSION['foo'] = $foo;
> ...

das ist schlecht so!!!
wenn z.b. 'register_globals=on' ist, dann ist $foo und $_SESSION['foo'] 
eh die selbe Variable!


> Wo jetzt genau der Unterschied zwischen
> 
> Include('object.class');
> $foo = new obj();
> Session_start();
> $_SESSION['foo'] = $foo;
> 
> Und
> 
> Include('object.class');
> Session_start();
> $_SESSION['foo'] = new Obj();

die obere Version benötigt mehr Zeit, Speicher, Performance ...

außerdem, führt das zu unvorhersehbaren Ergebnissen wenn 
register_globals=on ist!!

da $foo und $_SESSION['foo'] das selbe ist!!!


> Ist, bleibt mir aber auch weiterhin verborgen. Zwischenzeitlich bekam
> ich auch die Fehlermeldung "The script tried to execute a method or
> access a property of an incomplete object....". Das die Klasse vor
> session_start() eingebunden wird, ist Ehrensache. So wie oben
> beschrieben bleibt mir zumindest die Fehlermeldung erspart, wobei ich
> auch nicht weiss, womit ich glücklicher sein soll.

die Fehlermedlung ist ja schon mal positiv, sie zeigt ja zumindest das 
das Objekt in der Session 'überlebt' hat

da dein Fehler aber wohl, meines erachtens, in deinem Code zu suchen ist 
kann man dir auch nicht weiterhelfen wenn du immer nur Bruchstücke 
selbigen zeigst!

grundsätzlich: eine einfache Problembeschreibung, der Quellcode, die 
erwartete Ausagbe/Verhalten und die tatsächliche Ausgabe/Verhalten würde 
die Lösung eines Problems extrem vereinfachen!


-- 
Sebastian Mendel (www.sebastianmendel.de)

*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com

php::bar PHP Wiki   -   Listenarchive