Problem: PHP Session Variables
DJ_Cyberdance 03.05.2004 - 17:38 3301 7
DJ_Cyberdance
Here to stay
|
Verwende auf einer Seite mehrere Session-Variablen. Funktioniert bisher relativ problemlos, aber plötzlich zeigt sich folgendes sonderbare Verhalten:
Ich habe eine neue Variable x zu den Sessions hinzugefügt. (Jede Seite läd die mit include ("sessionvars.php")). Auf Seite A weise ich ihr einen Wert zu:
$_SESSION["x"] = "foo";
darunter is ein link zu einer anderen seite B, auf der steht
echo $_SESSION["x"];
Doch dort ist nichts zu sehen. session_start und session_register sind natürlich in sessionvars.php drin und dieses File in A und B included. Ganz oben natürlich. Jetzt der Clue an der Sache: Verwende ich statt x eine Variable y, die ich für andere Zwecke auf Seiten C und D bereits eingesetzt habe, funktioniert alles wie gewünscht. Ich tausche also nur das x gegen y aus und es klappt. session_register("x"); is natürlich auch included, keine Frage.
Irgendeine Idee, was es mit diesem seltsamen Verhalten auf sich hat?
PS.: Hatte gestern bereits ein ähnliches Problem, da lag der Fehler darin, daß Opera die Session nicht automatisch beendet hat als ich das entsprechende Fenster geschlossen habe. Hab grad sogar meinen Rechner rebootet, um die Session sicher zu beenden, bringt natürlich auch nix...
Bearbeitet von DJ_Cyberdance am 03.05.2004, 17:47
|
kleinerChemiker
Here to stay
|
versuch mal $x='foo' session_register ($x)
MIK
|
Rektal
Here to stay
|
Verwendung von $_SESSION["varname"] und session_register("varname") ist nicht gut. Sie schliesst sich nicht gegenseitig aus, spielt aber nicht gut miteinander. Tipp: register_globals auf Off und nur $_SESSION verwenden, kein Misch-Masch. Zum Opera-Problem: imho ein Bug in deinem Session-Code (okok, ich kenne ihn nicht), da Opera sehr wohl Session-Cookies unterstuetzt. Aber ja, vielleicht hat deine Opera-Version einen lustigen Bug -> Opera Forum
|
DJ_Cyberdance
Here to stay
|
Danke für eure Tips, aber ich denke ich habe die Ursache für das Problem gefunden, es ist allerdings so eigenartig, daß ich es euch nicht vorenthalten will:
- Erst alles, was mit Sessions zu tun hatte, lokal am PC gelöscht => nichts gebracht. - Wollte alles, was mit Sessions zu tun hatte, am Server löschen => ging nicht. - Hab Apache beendet, in der Annahme, beim Neustart würden die Sessions schon gelöscht werden. - Wollte Apache neu starten => geht nicht. - Schlußendlich draufgekommen, daß der Server auf der HDD Fehler gefunden hat und das Root-FS als read-only gemountet hat. Dh. die Session-Variablen konnten nicht upgedatet werden und blieben einfach auf dem alten Stand...
Da muß man auch erst mal draufkommen, wer denkt denn an sowas...
|
murcielago
Dr. Doom
|
lol, strange.
|
semteX
hasst die KI
|
muha das ist mit abstand das geilste
|
DJ_Cyberdance
Here to stay
|
So nachdem ich heute die letzten zwei 160er Spinpoints beim Peluga aufgekauft hab und das Backup zurückkopiert hab, läuft der Server wieder problemlos - und die Sessions funktionieren einwandfrei. Sicher mit Abstand der kurioseste Bug, den ich jemals irgendwo hatte...
|
Rektal
Here to stay
|
Yeah super, und ich steh mit meinen Vorschlaegen wieder als Trottel da :-(
;-)
|