Wieso lassen sich Variablen nur einmal übergeben?

ehonk

Mitglied
Hi all

Formular geschrieben, es soll dann nochmal gecheckt werden und anschliessend gesendet werden

z.b.
PHP:
part=start
  ...
  <td><input name=\"username\"  type=\"text\" size=\"30\"></td>
  ...

part=check
  ...
  echo $_POST['username']; 
  ...

part=send
  ..
ich ruf die Datei dann per $self_php?part=check wieder auf, bei check existieren
die Werte noch, bei part=send sind alle leer?

hab ich da eine grundlegende Eigenschaft noch nicht verstanden?
Wie kann ich dies dann lösen? mit sessions arbeiten?

thx
 
Zeigst Du bei part=check das Formular nochmal an und schickst es nochmal ab, oder zeigst Du die Daten nur in Textform an und leitest auf die gleiche Seite mit part=send weiter? Wenn ja, dann können die Daten auch nicht übertragen werden, weil Du sie nicht noch einmal übergibst. Um das zu umgehen kannst Du ein Formular mit versteckten Feldern verwenden (type=hidden) oder Du arbeitest wirklich mit Sessions, in dem Du bei part=check die übermittelten Formulardaten im Session-Array ($_SESSIONS) ablegst und bei part=send daraus wieder abrufst.

Vorher nicht vergessen, die Session zu starten bzw. wieder aufzunehmen:
--> http://de.php.net/session_start

snuu
 
so muss leider nochmal nerven:

PHP:
print ("
<tr>
    <td width=\"150\">Ihr Nachname</td>
    <td><input type=\"hidden\" name=\"username\" value=\"$username\" size=\"30\"></td>
  	</tr>

");

benütz ich type=text dann seh ich den Wert im Textfenster,
benütz ich type=hidden ist es leer
 
Ist schon richtig so. Wenn Du die Daten in textform ausgibst, möchtest Du ja das Formular nicht noch einmal anzeigen. Dann nimmst Du type=hidden und die Formularfelder liegen versteckt im Hintergrund. Alledings musst Du das Formular trotzdem abschicken, um die Daten zu übertragen.

Du kannst natürlich auch zum Überprüfen das Formular nochmals anzeigen und es dann endgültig senden, aber dann kann der Benutzer auch gleich im ersten Formular seine Eingaben überprüfen.

mfg, snuu
 
Zurück