Sven Rautenberg: Register Globals

Beitrag lesen

Moin!

ich habe dieses dumme Problem mit den Register Globals mit folgender Fehlermeldung:

Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled.

Wenn ich allerdings über einen anderen Button den gesammten Warenkorb lösche mit session_unregister("warenkorb") funktioniert es das auch der letzte Eintrag gelöscht wird.

Gaanz wichtige Sache:

1. register_globals gehört "off". Sorge dafür, dass dein Entwicklungssystem das so hat, und sorge ebenfalls dafür, dass das auf dem Liveserver so sein wird.
2. session_unregister() sollst du nicht benutzen. Ebenso session_register(). Beides ist dir verboten. Du kriegst durch Aufruf von session_start() das Array $_SESSION wiederhergestellt, und darin kannst du alle Werte abspeichern, die nach Skriptende gesichert werden sollen. Weitere Session-Funktionen (session_*()) benötigst du in 99% aller Fälle nicht.

Ich habe auch versucht die Variablen vorab nicht mehr in der Session zu registrieren um sie später mir $_SESSION["warenkorb"] direkt zu füllen... nix :-/

Wie gesagt: $_SESSION ist der richtige Ansatz - und außerdem wäre es sicher hilfreich, wenn du deine Cookies mal löschst, damit du eine neue, saubere Session kriegst. Alte Session-Daten können die Fehlermeldung auch provozieren, obwohl der Grund schon gelöscht wurde.
 - Sven Rautenberg