Hallo,
- Zum eigentlichen Thema: Du verwendest register_globals = on d.h. alle Eingaben werden in einer bestimmten Reihenfolge in globale Variablen geschrieben. Die Session-Variablen werden aus Sicherheitsgründen per default (und ich würde das nie im Leben abstellen) _nach_ den GET/POST-Variablen "importiert" (das geschieht übrigens bevor eine Zeile Deines Codes ausgeführt wird) Die Lösung: Du musst die Session Variablen anders nennen, als die Variablen, die Du im Formular verwendest.
- Die einstellung register_globals, ist wohl eine einstellung auf dem server oder? Da kann ich nicht viel ändern,
Korrekt. Das brauchst Du auch nicht.
aber wenn die Variablen ja schon global sind, dann sollte ich sie doch auch einfach auf 3 weiteren Seiten mit dem echo $test ansprechen können oder?
Die Variablen sind Global für das Script, das ausgeführt wird. Sessions dienen ja dazu, dass man sich Variablen "merken" kann.
- Wie mache ich es denn dass ich nun die Variablen anders benenne? Also ich kann ja nicht einfach die Namen in
session_register("anrede", "vorname", "adresse", "postfach", "plzort", "email", "spenden", "spendeart");
ändern sonst weiss er ja gar nicht welchen wert er für die Sessions benötigt. Oder mach ich da einen Überlegungsfehler ?!?
Das kannst Du so lösen:
Die Session Variablen heißen jetzt alle gesp_+Variablenname, also z.B. gesp_anrede. Dann musst Du nur noch folgendes machen:
if (isset($anrede)) $gesp_anrede = $anrede;
if (isset($vorname)) $gesp_vorname = $vorname;
usw ...
und danach den Aufruf:
session_register("gesp_anrede", "gesp_vorname", "gesp_adresse", "gesp_postfach", "gesp_plzort", "gesp_email", "gesp_spenden", "gesp_spendeart");
Grüße,
Christian