Marian: Werte werden nicht übergeben

Beitrag lesen

Hallo Christian,

Das Problem ist, wenn ich nun auf abschicken gehe, gehen die Daten welche ich per POST verschicken möchte verlohren.

Du meinst die anderen Angaben? Natürlich, die musst du wie 'Kinderanzahl' in ein hidden-feld einbauen, damit sie der Browser nochmal abschickt. Er weiß ja nicht, dass du die beim ersten Mal gesendeten Daten nicht verarbeitet hast und nochmal geschickt haben willst.

switch($_POST['Kinderanzahl']){
  case 1: echo'<tr><td><b><font color="green">Alter des Kindes:</b></td>
     <td><input name="Alter Kind 1" type="text" id="Alter Kind 1" size="2">
     <input type="hidden" value="'.$_POST['Kinderanzahl'].'" name="Kinderanzahl"></td></tr>';
    break;
  case 2: echo'<tr><td><b><font color="green">Alter der 2 Kinder:</b></td>
     <td><input name="Alter Kind 1" type="text" id="Alter Kind 1" size="2" value="'.$_POST['Alter Kind 1'].'">
     <input name="Alter Kind 2" type="text" id="Alter Kind 2" size="2" value="'.$_POST['Alter Kind 2'].'">
     <input type="hidden" value="'.$_POST['Kinderanzahl'].'" name="Kinderanzahl"></td></tr>';
    break;

  
"Alter Kind 1" ist kein zulässiger Wert für eine ID, und auch für Formulardatennamen ist es nicht zu empfehlen.  
Das Formular oben lässt sich mit einer Schleife weitaus effizienter lösen:  
~~~php
for($i=0; $i < $_POST['Kinderanzahl'];  $i++)  
{  
 echo '<input name="alter_kind_'. $i. '" ...>';  
}

(Beispiel, muss noch verbessert werden, $_POST['Kinderanzahl'] sollte zum Beispiel auf gültige Werte überprüft werden)

Viele Grüße aus Freiburg,
Marian

--
Microsoft broke Volkswagen's world record: Volkswagen made only 22 million bugs!
<!--[if IE]><meta http-equiv="refresh" content="0; URL=http://www.getfirefox.com"><[endif]-->