Hello,
Wie sind Deine Einstellungen für
register_globals
magic_quotes_gpcDer Code für Checkout.php ist vollständig wiedergegeben.
register_globals ist on.
Das ist eine ganz schlechte Idee
magic_quotes_gpc ist off.
Das hingegen erspart einiges an Arbeit, darf aber nicht vergessen werden!
Übrigens: Den letzteren kenne ich noch nicht. Was bedeutet der?
Schau mal unter http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
Wann startest Du denn Deine Session immer?
Du solltest das Ganze erst einmal auf einen neueren Standard heben. Schalte auch register_globals und register_long_arrays ab. Und dann arbeite mit den "superglobalen" Arrays $_GET, $_POST, $_SESSION, ...
Dann teile Deinen ganzen Apparat in einzelne Formulare auf.
Ordne sie in eine Hierarchie ein.
Ordne die Daten in dr Session auch etwas stricter, also lege nicht alle Datenfelder gleich direkt unter $_SESSION an, sondern passend zum Vorgangsstatus und/oder dem zugehörigen Formular
$_SESSION['adresse']['vorname']
$_SESSION['adresse']['name']
$_Session['warenkorb']['produkte'][1]
$_Session['warenkorb']['produkte'][2]
$_Session['warenkorb']['produkte'][3]
oder so ähnlich.
Ordne jedem Formular seine eigene Anzeige- und seine eigene Auswertefunktion zu. Die kann man auch in einer verpacken, wenn man das unbedingt will. In der Anzeigefunktion werden dann die Buttons (Submits) deklariert, die die Ablaufsteuerung der Auswertefunktion wieder aufnimmt.
So solltest Du dann langsam Ordnung in Dein Projekt bekommen...
Liebe Grüße aus Syburg
Tom vom Berg