Mailinglisten-Archive |
>>>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! > > Is 'on'. Da sieht man wie weit mich die Verzweiflung bereits gebracht > hat! :D > Aber wenn "$foo = new obj();" == "$_SESSION['foo'] = $foo;" müsste doch > auch > > Include('object.class'); > $_SESSION['foo'] = new obj(); > Session_start(); > > Funktionieren. Warum? Ich schreibe doch in eine Session, die erst in der > nächsten Zeile gestartet wird, oder irre ich wieder? du kannst doch nichts in die Session schreiben bevor du die Session startest! also tausch die Zeilen! ich kenne auch keine einziges Beispiel aus dem Handbuch wo es in dieser Reihenfolge stehen würde, es ist ja auhc nicht unbedingt immer nötig gleich alles zu verstehen was im Handbuch steht, man sollte es aber zumindest trotzdem erst mal so machen wie es da steht, das Verständnis kommt meißt später ... ;-) > [...] so nach kurzem 'Überflug' deines Codes sieht er eigentlich ... naja, zumindest müsste er funktionieren :-) bis auf das wie du halt mit der Klasse un dem Objekt in der Session umgehst! - erst die Klassen definieren - dann die Session starten - dann die Objekte verwenden/initialisieren 1. ... klasse ... 2. ... session ... 3. ... objekt .... und _immer_ mit $_SESSION arbeiten, und immer erst _nach_ session_start() wenn globals=on gleiche variablen-namen vermeiden also $_SESSION['foo'] und $foo am besten immer vermeiden, auch wenn globals=off, -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive