$_SESSION Verwirrung
Ulli
- php
Hallo,
ich kann mir folgendes nicht erklären:
Auf der ersten Seite wird $_SESSION["Data"] = $Data gesetzt.
Dann wird eine andere Datei aufgerufen und ich will wissen was in $_SESSION["Data"] steht. Soweit alles iO. Nun setze ich $Data = "irgendwas" und schaue nochmal in $_SESSION["Data"] (beides in der neu aufgerufenen Datei).
Jetzt Preisfrage: Was steht dort?
"irgendwas" (!) und nicht das, was eine Seite zuvor zugewiesen wurde.
Das geht doch gar nicht - oder ?
Bitte sagt mir was ich falsch mache.
Grüße, Ulli
das liegt an einer Servereinstellung. Das Problem hatte ich auch schon. Weiss aber nicht mehr was es für eine Servereinstellung war.
Es sollte aber auch gehen, wenn du die Session zuerst in eine andere Variable schreibst.
als zb.:
$temp_var = $_SESSION[Data];
$Data = $temp_var;
Hallo Ulli,
Bitte sagt mir was ich falsch mache.
ich tippe mal auf register_globals=on
Grüße aus Nürnberg
Tobias
Hello,
Bitte sagt mir was ich falsch mache.
ich tippe mal auf register_globals=on
Warum sollte diese Einstellung die Daten in der Sessiondatei verändern?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Tom,
ich tippe mal auf register_globals=on
Warum sollte diese Einstellung die Daten in der Sessiondatei verändern?
Das habe ich mich damals auch gefragt, scheint aber in der Tat so zu sein:
$_SESSION['foo'] = "bar";
echo $foo; //Ausgabe: bar
$foo = "hallo";
echo $_SESSION['foo']; //Ausgabe: hallo
Vermutlich läuft das registrieren der Session Variablen genauso wie das der GET/POST Variablen ab.
Übrigens gibt es auch eine Funktion session_register().
MfG, Dennis.
Hello,
ich tippe mal auf register_globals=on
Warum sollte diese Einstellung die Daten in der Sessiondatei verändern?
Das habe ich mich damals auch gefragt, scheint aber in der Tat so zu sein:
$_SESSION['foo'] = "bar";
echo $foo; //Ausgabe: bar
$foo = "hallo";
echo $_SESSION['foo']; //Ausgabe: hallo
Das darf aber nicht sein!
Vermutlich läuft das registrieren der Session Variablen genauso wie das der GET/POST Variablen ab.
Übrigens gibt es auch eine Funktion session_register().
Die sollte man nicht mehr verwenden, selbst wenn man aus irgendwelchen Gründen mit register_globals=on arbeiten 'muss'.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
$_SESSION['foo'] = "bar";
echo $foo; //Ausgabe: bar
$foo = "hallo";
echo $_SESSION['foo']; //Ausgabe: halloDas darf aber nicht sein!
Ja. Aber wie stelle ich das ab???
Grüße, Ulli
register_global auf off schalten
Hallo,
register_global auf off schalten
Geht leider nicht =(
Aber wenigstens hab ich jetzt verstanden was dort vor sich geht.
Grüße, Ulli
Hi Tom,
[...]
Das darf aber nicht sein!
Sag das den Entwicklern ;-)
Das ganze register_globals ist sowieso Mist.
MfG, Dennis.
echo $begrüßung;
$_SESSION['foo'] = "bar";
echo $foo; //Ausgabe: bar
$foo = "hallo";
echo $_SESSION['foo']; //Ausgabe: halloDas darf aber nicht sein!
So ist es wahrscheinlich auch nicht. Mein Versuch jedenfalls ergab mit PHP4 und PHP5 und echo durch var_dump getauscht:
Notice: Undefined variable: foo in ...test.php on line {var_dump($foo)}
NULL
string(3) "bar"
echo "$verabschiedung $name";
Hallo,
ich tippe mal auf register_globals=on
Ja, aber was hat das damit zu tun, dass der Variablenname an die Daten in $_SESSION gebunden ist.
Grüße, Ulli
Hello,
Jetzt Preisfrage: Was steht dort?
"irgendwas" (!) und nicht das, was eine Seite zuvor zugewiesen wurde.
Welche PHP-Version benutzt DU denn?
Hast Du vielleicht versehtntlich eine "Referenz" vereinbart und keine einfache Zuweisung betrieben?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo,
Welche PHP-Version benutzt DU denn?
4.3.3
Hast Du vielleicht versehtntlich eine "Referenz" vereinbart und keine einfache Zuweisung betrieben?
Nö - einfach nur '='. Und einfache $ Zeichen
Grüße, Ulli
Hallo,
da ich register_globals nicht auf off stellen kann, muss ich mich wohl mit dem Problem herumschlagen.
Danke allen ...
Ulli
puts "Hallo " + gets.chomp + "."
?> Ulli
=> Hallo Ulli.
da ich register_globals nicht auf off stellen kann, muss ich mich wohl mit dem Problem herumschlagen.
Was hast du ausprobiert, was dich letztendlich zu dieser Erkenntnis geführt hat?
Einen schönen Freitag noch.
Gruß, Ashura
Hallo,
Was hast du ausprobiert, was dich letztendlich zu dieser Erkenntnis geführt hat?
Was meinst du? Das ich die php.ini nicht verändern kann oder das $_SESSION["somename"] mit $somename zusammenhängt?
Grüße, Ulli
puts "Hallo " + gets.chomp + "."
?> Ulli
=> Hallo Ulli.
Was meinst du? Das ich die php.ini nicht verändern kann oder das $_SESSION["somename"] mit $somename zusammenhängt?
Dir ist also nicht bewusst, dass du für diese Art der Konfiguration gar keinen Zugriff auf die php.ini brauchst.
Die Möglichkeit, die du ausprobieren solltest, lautet .htaccess.
Einen schönen Freitag noch.
Gruß, Ashura
Hallo,
Dir ist also nicht bewusst, dass du für diese Art der Konfiguration gar keinen Zugriff auf die php.ini brauchst.
Die Möglichkeit, die du ausprobieren solltest, lautet .htaccess.
Doch schon - diesen Fall hab ich mal außen vor gelassen. Nützt aber auch nichts ... die register_globals müssen auf on bleiben.
Grüße, Ulli
hi,
Doch schon - diesen Fall hab ich mal außen vor gelassen. Nützt aber auch nichts ... die register_globals müssen auf on bleiben.
warum - weil du an solchen fehlern wie dem hier auftretenden wirklich hängst, und ihn sowie die weiteren mit rg=on verbundenen risikien nicht missen möchtest?
gruß,
wahsaga
Hallo,
warum - weil du an solchen fehlern wie dem hier auftretenden wirklich hängst, und ihn sowie die weiteren mit rg=on verbundenen risikien nicht missen möchtest?
Nicht ganz ;)
In dem Projekt gib es leider viele, viele Codesegmente, die exessiven Gebrauch der Möglichkeiten machen die register_globals=on bietet. Und da die Zeit (wie immer) zu knapp ist alles zu ändern, bleibts halt an. *mitdenschulternzuck*
Grüße, Ulli