"We are back" « oc.at

Problem: PHP Session Variables

DJ_Cyberdance 03.05.2004 - 17:38 3301 7
Posts

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
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
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4328
versuch mal
$x='foo'
session_register ($x)

MIK

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4513
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
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
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
Avatar
Registered: Oct 2002
Location: *
Posts: 2697
lol, strange.

semteX

hasst die KI
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14865
muha das ist mit abstand das geilste :D

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
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
Registered: Dec 2002
Location: Inside
Posts: 4513
Yeah super, und ich steh mit meinen Vorschlaegen wieder als Trottel da :-(


;-)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz