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