Mailinglisten-Archive |
Am Donnerstag, 19. Mai 2005 23:02 schrieb Andreas Brandl: > Hi! Hi Andreas! > Der u.s. Code macht doch genau das, was er soll... das Array $foo wird > per setSomeData() jedesmal neu gesetzt, danach die Session per > session_start() initialisiert und das Array $_SESSION neu gefüllt. Aber wieso wird $this ueberschrieben. Es wird ja nirgendswo der Inhalt der Session in einer Variable geschweige denn in $this zugewiesen. Das merkwuerdige daran ist, das es auf anderen PHP Versionen - PHP5.0.4 - funktioniert. Vieleicht kann mir jemand an einem codeschnipsel es etwas genauer erklaeren ;). Ich sollte noch erwaehnen das ich das Problem mit dem PEAR Auth package habe, wenn ich die Methode start() aufrufe. > Was dir vielleicht weiterhilft: > > session_start(); an den Anfang des Scripts (auch gern in der Klasse), > danach kannst du auf $_SESSION zugreifen. > > > $_SESSION['foo'] = $this->foo; > > Hier setzt du den Wert jedesmal neu. Vielleicht willst dus ja andersrum > (ins Blaue geraten), also so: > > $this->foo = $_SESSION['foo']; > > So könntest du das Array über eine Session hinweg 'transportieren'. > > Also wie gesagt: > * erst session_start(); > * dann Zugriff auf $_SESSION > Genau das habe ich im Beispiel gemacht. Oder wie ist das gemeint. <code> function start() { $this->setSomeData(); session_start(); $_SESSION['foo'] = $this->foo; } </code> Habe trotzdem mal die Sitzung im Konstrukt der Klasse initialisert und es stimmt es funktionert. Doch zur meiner Schande, nachvollziehen kann ich das Verhalten aber immer noch :( > HTH, Andreas MfG Dejan
php::bar PHP Wiki - Listenarchive