PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : komisches verhalten einer session


TomPo
2002-12-11, 09:32:39
ich probiere jetzt schon geraume zeit eine lösung zu finden, jedoch wächst mir das problem langsam über meinen kopf.

ich starte eine session, kann variablen speichern und auslesen, jedoch klappt die übergabe des sessionid nicht. beim ersten aufruf der seite wird die PHPSESSID an die links gehängt, danach aber nicht mehr. auch ein manuelles anhängen der ID klappt nicht.

ich vermute es hat etwas mit dem cookie zu tun, welches ja auch nicht ordnungsgemäß gesetzt wird. die seite ist unter http://www.fug-clan.de/neu/ zu finden. als php-version bietet mir mein server PHP 4.0.6 an. unter http://www.fug-clan.de/neu/phpinfo.php gibts dazu noch ein paar daten.

vielleicht kennt jemand ja dieses problem. an meinem quelltext kann es eigentlich nicht liegen, da habe ich sogar schon php 4.2 code und allerlei anderes probiert.

Wudu
2002-12-12, 22:20:40
wenn du willst das die Session AUTOMATISCH bei jedem <a href""></a> übergeben wird, musst du in der php.ini (bei RedHat in /etc/php.ini, bei Windoof unter c:\winnt\php.ini) beim Sessionhandling

session.use_trans_sid = 1 einstellen.

Willst du sie manuell übergeben wirst du alt werden beim reincoden. Aber tust du es dir an musst du die in der php.ini eingestellte session.name Variable übergeben, standard ist $PHPSESSID, bei PHP 4.1 > musst du $_SESSION["PHPSESSID"] (ausser register_globals ist on), verwenden!

Das haut 100% hin!

TomPo
2002-12-13, 00:03:37
Originally posted by Wudu
Das haut 100% hin!

session.use_trans_sid = 1 ist gesetzt, wie man ja auch anhand phpinfo() sehen kann. beim ersten mal klappt es ja auch, nur danach nicht mehr. leider ist das der server von meinem hoster und ich kann dort so auf die schnelle nicht rumkonfigurieren oder andere versionen einspielen. trotzdem danke für die hilfe - hätte ja sein können, das jemand diesen fehler kennt.

ich seh den admin beim 19C3, da werd ich ihn mal darauf ansprechen - eine andere möglichkeit fällt mir jetzt nicht ein. vielleicht läßt er sich ja überreden PHP 4.2 zu installieren *hoff*

Matthias2x
2002-12-13, 00:38:56
was mir auffällt, beim ersten Aufruf deiner Seite sieht der "Home"-Link folgendermaßen aus: http://www.fug-clan.de/neu/index.php?page=home&sid=&PHPSESSID=137ac918dcf9f1dd85f8314a9f3a6f73

Offenbar wird hier die Variable $sid nicht richtig gesetzt. Bei den anderen Links steht ja nur &PHPSESSID=137ac918dcf9f1dd85f8314a9f3a6f73 dahinter.

Beim Klick auf "Home" fehlt nach dem Reload &PHPSESSID= jetzt völlig, dann wird aber plötzlich $sid gesetzt und zwar so: http://www.fug-clan.de/neu/index.php?page=home&sid=137ac918dcf9f1dd85f8314a9f3a6f73

Das wird wohl IMHO ein Fehler in deinem Code sein.

TomPo
2002-12-13, 02:37:59
Originally posted by Matthias2x
Das wird wohl IMHO ein Fehler in deinem Code sein.
ja, das habe ich noch garnicht erwähnt. die variable $PHPSESSID wird korrekt übergeben und steht mir auch immer zur verfügung, deshalb habe ich die manuelle übergabe mal probiert (was ja eigentlich auch unnötig ist). und da auch

"seite.php?<?=SID?>"

und ähnliches nicht geklappt hat, probierte ich bei diesem link

"index.php?page=home&sid=<?echo $PHPSESSID?>"

aber alles ohne erfolg. eigentlich sollte mich ja die übergabe der sessionid nicht kümmern, da sie ja irgendwie doch übergeben wird (wohl mit dem cookie), jedoch verschwinden meine gesetzten variablen aus der session - und das ist nicht der sinn der sache ;). ich kann mir halt keinen reim darauf machen und habe viel probiert; und wenn ich mir jetzt nochmal durchlese wie ich es hier erklärt habe, so wird mir das ganze immer konfuser.

trotzdem danke