Variablenübergabe durch mehrere Seiten

Sniperalex

Grünschnabel
Hallo,

ich habe folgendes Problem: Ich möchte Werte in Textfeldern durch 2 Seiten übertragen:

1. Seite: Man gibt dort die Text in die Felder ein.
2. Seite: Dort werden diese Texte als Bestätigung angezeigt + es kommt noch ein neues hinzu-
3. Seite hier werden alle Felder (mit dem neuen) als Bestätigung angezeigt.

Mein Problem ist, dass sich die Variablen von der 2. auf die 3. Seite nicht übetragen d.h. es werden die Textfelder (die durch Variablen in der 1. Seite gefüllt wurden) nicht nochmals übertragen, wahrscheinlich weil da nichts eingetippt wurde, sondern die durch Variablen etxte wiedergegeben wurden.

Wie kann ich die Variablen (aus der 1. Seite) weiter zur 3. Seite transportieren?

(Ich mache alles durch POST, also auch $test = $_POST['testfeld']; )

Danke schonmal vielmals! Falls Fragen isnd bitte stellen! Ich glaube irgendwie nicht dass der Text ganz so verständlich ist :)
 
Wenn du die schon eingegebenen Werte von Seite 1 auf Seite 2 wiederum in einem Formular anzeigst, ist das ganze kein Problem dann funktioniert es.

Wenn du die einfach so ausgeben lassen willst, musst du die Werte zusätzlich in hidden-Fields schreiben
<input type="hidden" [...] >,
diese wiederum in einem Formular platzieren, was du ja für das zusätzliche Feld sowieso brauchst, und dieses dann halt wieder abschicken an Seite 3.
 
Original geschrieben von Tim Comanns
Wenn du die schon eingegebenen Werte von Seite 1 auf Seite 2 wiederum in einem Formular anzeigst, ist das ganze kein Problem dann funktioniert es.

Ich lasse die Werte auf Seite 2 auch in einem Formular anzeigen (wie auf Seite 3), trotzdem werden sie nicht übertragen - die Variablen sind auf Seite 3 einfach leer.

Soll ich jetzt also Hidden Field machen und dort die Warte eintragen? aber ist das nicht das gleiche als wenn ich die Werte auf Seite 2 in sichtbare Felder reinschreibe?
 
und wenn du sie mal kurz in session packst?

auf jede deiner 3 seite ein

session_start();

ALS ALLERERSTES !

also
<?php
session_start();

...dein code ..

nach der eingabe der variablen kannst du sie schön in die session packen ( auf seite 2 )

<?php
session_start();

$_SESSION["variable"] = $variable_von_seite_1;

..dein code

auf seite 3 nutzt du sie dann so

<?php
session_start();

print "$HTTP_SESSION_VARS[variable]";

..dein code

ciao
.
 
Hab das mit den Session genauso gemacht, aber hat nicht geklappt, kam immer: unexpected T_Variable oder so. Naja, ich guck mal bei Google jetzt mit den Hidden-Fields, vielleicht ist ja einfacher.
 
mit den sessions funktioniert garantiert. deinn fehler deutet eher auf nen parse error oder ähnliches. also ein strichel oder punkt oder ähnliches vergessen bzw falsch gesetzt.
zeig doch mal etwas code, dann kann man evtl. schon eher was machen.
 
DANKE! Habs die Fehler gefunden und es läuft :)

1. Fehler: Das Semikolon hinter session_start() vergessen
2. Fehler: Das Textfeld verwies auf eine andere Variable

Naja, nun läufts gut, aber hab da noch eine Frage: Sind die gespeicherten Sessionvariable in weiteren Formularen unendlich verfügbar oder muss ich wieder im 3. Formular darauf verweisen ($_SESSION["variable"] = $variable) ?
 
solange der benutzer den browser offen lässt, sind die session varis immer da, du musst nur drauf achten das in jeder(!) seite das session_start(); am anfang steht, vor allem, da darf nicht mal ein leerzeichen davor!

ansprechen kannst du sie immer so:

print $HTTP_SESSION_VARS[variable];

oder auch
$_SESSION[variable]

wenn du das für nen login und ähnlich benutzt, dann hast du sensible daten, denke an session_destroy und ähnliches
 
jagut, alles klar, danke dir!

session_destroy sagt mir zwar nichts, aber ich denke mal, damit kann man die session mit den gespeichertetn variablen schliessen bzw. "zerstören" :)
 
jupp, aber da muss natürlich auch wieder ein session_start(); davor

so kann eine einfache logout.php aussehen

<?php
session_start(); // session initilisieren
session_unset(); // variablen "leermachen"
session_destroy(); // session "zerstören"
@header ("Location:index.php"); //weiterleitung auf deine startseite
exit;
?>

funktioniert einwandfrei...

grüße..
 
Zurück