Mailinglisten-Archive |
>> sess =3D new Session();
>> session=5Fset=5Fsave=5Fhandler("sess=5Fopen", "sess=5Fclose", ... /=
geht nicht
> array($sess, "sess=5Fopen") usw. d=FCrfte funktionieren.
Danke, das hat funktioniert. Im Zuge der Entwicklung stolpere ich gerade=
=FCber einen Fehler in php, von dem ich erst wissen m=F6chte, ob er nich=
t auf
falschen Annahmen/Wissen meinerseits beruht:
In einer Klasse "Session" soll beim Konstruktor gleich eine weitere
Zufallsid initialisiert werden, die mittels Sessions =FCber die weiteren=
Seiten hinweg verf=FCgbar sein soll. Da diese Id innerhalb der Klasse
definiert ist und sich eine Sessionklasse im Konstruktor sich nicht
selbst registrieren kann (schade), muss ich deren Initialisierung auf
eine anschie=DFend aufzurufende Methode verlagern.
Selbige sieht nun so aus:
// initialize...
=09function start () {
=09=09if (empty ($this->uid)) {
=09=09=09srand((double)microtime()*1000000); // ***
=09=09=09$this->uid =3D -rand(1,10000000); // ***
=09=09=09session=5Fset=5Fsave=5Fhandler(array($this, "sess=5Fopen"), arr=
ay($this,
"sess=5Fclose").....
=09=09=09session=5Fstart();
=09=09}
=09}
Diese Id will ich in meinen session-callback-Routinen nun neben dem key
und value in eine Tabelle speichern - was ausschlie=DFlich dann
funktioniert, wenn die beiden markierten Zeilen nicht nach session=5Fsta=
rt
stehen. Mein Verst=E4ndnis war jedoch immer, dass die Wertzuweisung an
registrierten Session-Objekten unabh=E4ngig von deren Position im Script=
ist!=3F Liege ich falsch=3F
--
Oliver Michalak
www.werk01.de / omich_(at)_werk01.de / 0177-75 75 393
php::bar PHP Wiki - Listenarchive