phpbar.de logo

Mailinglisten-Archive

Re(2): [php] Sessions

Re(2): [php] Sessions

Oliver Michalak php_(at)_phpcenter.de
Sun, 17 Jun 2001 19:48:31 +0200


>> 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