Session Variable durch namensgleiche Variable überschrieben?

PannenOlli

Grünschnabel
Moin Leute.

Ich habe eine Verständnisfrage.

Ich habe eine Session

$_SESSION['mb'][0]

und in einem Script verwende ich die Variable

$mb


Ist es normal, dass er mir die Session überschreibt ?

Gruß
 
Ja das es nicht das gleiche ist, sehe ich eigentlich auch so.

jedoch überschreibt mir die $mb Variable die Session

Die Session['mb'][0] nimmt durch aufrufen des Sxripts den Wert von $mb[0] an.

obwohl ich der Session keinen neuen Wert zuweise, da die Session in dem Script gar nicht angesprochen wird.
 
Naja viel ist da nicht darzustellen.

PHP:
$mb = explode("|",$Kunde['mitarbeiter']);

das array verwende ich im Anschluß in einer for Schleife
 
Schau dir mal bitte den Artikel über register_globals in PHP auf php.net an, sowie den verlinkten Kommentar. Sofern das Ini-Flag gesetzt ist, solltest du in Betracht ziehen, das Flag auf false zu setzen.

Eine weitere Problemursache könnte folgendes Konstrukt sein, das aber nur zur Vollständigkeit:
PHP:
$_SESSION['mb'] = &$mb;
 
Kannst du bitte die Lösung für dein problem Posten, damit andere user, die das gleiche Problem haben auch informiert werden? Danke.
 
Na ist doch klar: Er hat register_globals auf On stehen. Dadurch werden die Super-Globalen auf reguläre Variablen runter gemappt. Aus _GET['foo'] wird dann einfach ein $foo.

Wenn er in $_SESSION['mb'] was drin stehen hat, was er verwenden möchte und zugleich eine Variable $mb, darf er entweder

- register_globals nicht auf On stehen haben (besser) oder
- muss die Variable $mb anders benennen oder
- muss die Session-Variable anders benennen.

Ich sags ja immer: register_globals = Off <= ein Muss!
 
Zurück