Moin!
Warum sollte man dies nicht nehmen?
Weil man nur noch die Variable $_SESSION verwendet soll, und nicht mehr globale Variablen, deren Eigenschaft "ich bin eine Session-Variable" man von außen nicht sehen kann - was durchaus zu Problemen führen könnte, wenn man ungeschickt mischt.
Manuel sagt:
Manuel? Oder Manual? :)
session_is_registered -- Überprüft, ob eine Variable in einer Session registriert ist
Korrekt. Das braucht man, wenn man nicht weiß, ob eine der globalen Variablen eine Session-Variable ist, oder nicht.
Wenn Sie $HTTP_SESSION_VARS/$_SESSION verwenden, sollten Sie session_register(), session_is_registered() und session_unregister() nicht verwenden.
Weil es zu unerwünschten Überlappungseffekten kommen kann. mit session_register() & Co. werden die so registrierten Variablen in das Array $_SESSION verfrachtet. Der doppelte Zugriff muß auf jeden Fall vermieden werden.
Die Alternative zu session_is_registered wäre isset($_SESSION[...]).
Also man kann beides nehmen, aber ich finde das mit session_is_registered leicher zu verstehen
Man muß sich für eines von beiden entscheiden. Da man $_SESSION nehmen soll, weil es die globalen Variablen sehr komfortabel aufräumt (man soll ja schließlich auch $_POST, $_GET etc. nehmen), ist für session_register(), session_is_registered() und weitere Funktionen einfach keine Verwendung mehr.
Mir gefällt der Zugriff über $_SESSION außerdem wesentlich besser. Der Gedanke, dass es ein spezielles Array gibt, welches durch den Session-Mechanismus immer wiederhergestellt wird und ich bei Bedarf auf dessen Inhalte zugreifen kann, gefällt mir wesentlich besser, als wenn ich um alle meine globalen Variablen, die ich verwende, Angst haben muß, weil ich sie vielleicht irgendwo in einem Teilskript als Session-Variable registriert habe - dann wird sie nämlich durch den Befehl session_start() auch in allen anderen Skripten überschrieben. Und in so einem Müll dann Fehlersuche zu betreiben ist äußerst eklig!
- Sven Rautenberg
Die SelfHTML-Developer sagen Dankeschön für aktuell 21205,05 Euro Spendengelder!