Session Variablen ändern

  • Themenstarter Themenstarter joky_joky
  • Beginndatum Beginndatum
J

joky_joky

Tach zusammen hab mal wieder ne Frage :rolleyes:
Ist warscheinlich wieder einfacher als vermute.

Also ich möchte Formulardaten per session übergeben ist soweit kein Problem.
Aber wenn ich nun auf Seite 1 die Felder fülle und dann auf Seite 2 gehe dort auch alle
Felder ausfülle und dann auf Seite 3 wo ich mir die daten z.B. anschauen kann wie in einer art Vorschau und etwas ändern möchte und wieder aus Seite 1 gehe dort meine
Daten abändere und dann wieder auf Seite drei ändern sich die Daten nich es sind
immernoch die alten Variablen in der Session enthalten.
kann mir jemand sagen was ich falsch mache oder wie ich die Variablen in einer Session
ändern kann oder müss ich diese zuerst löschen?

So habe ich es jetzt gemacht.

PHP:
session_name ("form1");
session_start ("form1");

$_SESSION["VAR1"] = $VAR1;
$_SESSION["VAR2"] = $VAR2;
$_SESSION["VAR3"] = $VAR3;
Ist es denn nicht so wie bei Variablen das sie sich automatisch ersetzen.
 
Ich denke nicht denn ich muss dazu sagen ich probiere es immer mit folgenden Browsern.
Opera, IE, Mozilla Firefox, Netscape
 
Man kann den Wert einer Session Variable jederzeit ändern/überschreiben. Ich denke eher, du hast ein falsches Handling mit den Variablen, sprich du füllst sie flasch bzw hast falsche Bedingungen zum überschreiben. Anders kann ich mir das nicht erklären
 
oO du brauchst kein Session_name du brauchst auch bei session_start keinen Namen angeben? Schreib einfach mal session_start() und guck obs geht. Ansonsten poste den Code von allen drei Files.
 
Ich denke es liegt daran in welcher Reihenfolge die Variablen geschrieben werden. Wenn auf dem Server register_globals on ist, werden glaub ich zuerst die GET variablen gelesen, dann POST und dann SESSION. Wenn du nun deine Felder im Formular zum Ändern der Daten genauso nennst wie die Variablen in der Session, dürfte er zwar die Werte aus dem Formular nehmen und eine Variable mit dem Namen erstellen, diese jedoch, da die Variablen der Session später geladen werden mit dem Wert aus der Session wieder überschreiben, wodurch resultiert, dass der Wert sich nicht ändert. Das Problem dürfte lösbar sein, in dem du für register_globals = off programmierst und über das Array $_POST auf den Wert aus dem Formular zugreifst:

PHP:
$_SESSION['VAR1'] = $VAR1; // geht nicht
$_SESSION['VAR1'] = $_POST['VAR1']; // müsste gehen
 
Leider funktioniert keines der Beiden Beispiele bei mir.
Hat jemand eine andere Idee?
Brauche das nämlich auch und komme auf keinen günen Zweig :(
 
Zurück