Formular mehrfach anzeigen- schleife; daten gehn verloren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular mehrfach anzeigen- schleife; daten gehn verloren

    Hallo allerseits, habe folgendes Problem und bin um jeden Ratschlag dankbar!
    Habe ein Formular, der User kann hier seine Daten eingeben (für eine Bestellung). Das gleiche Formular soll öfters (nun 8 mal) dargestellt werden, dies erreiche ich mit einer Schleife. Durch die Variable a erreiche ich 8 unabhängige Namen dafür. Das Formular enthält ein DropDown Menü, wenn man hier die Auswahl ändert, aktualisiert sich automatisch die Seite. Hier ist nun das Problem, da bereits eingegebene Daten dann verloren gehn. Wenn ich sie auslese mittels $_GET dann bekomme ich jeweils nur ein Formular wieder ausgefüllt. Hat irgendwer eine Idee wie es funktionieren könnte dass alle Einträge vorhanden bleiben?
    Und das automatische aktualisieren beim DropDown ist unbedingt notwendig, da hier noch eine Preiskalkulation folgt!
    PHP-Code:
    <?php
    $anzahl 
    8;
    for(
    $a=0;$a<=$anzahl;$a++) {

    $art $_GET['art'.$a];
    echo 
    $art;
    ?>
    <form name="buchen<? echo $a; ?>" method="get" action="#">

      <select name="art<? echo $a; ?>" onChange="document.buchen<? echo $a; ?>.submit();">
          
                            <option value="001" <?php if($art.$a=="001") {echo "selected";} ?>>
                              Auswahl (art) 1
                            </option>
                            <option value="002" <?php if($art.$a=="002") {echo "selected";} ?>>
                              Auswahl (art) 2
                            </option>
                                <option value="003" <?php if($art.$a=="003") {echo "selected";} ?>>
                              Auswahl (art) 3
                            </option>
                                <option value="004" <?php if($art=="004") {echo "selected";} ?>>
                              Auswahl (art) 4
                            </option>
                        
                            </select>





    Anrede: Herr <input name="anrede<? echo $a; ?>" type="radio" value="Herr">Frau<input name="anrede" type="radio" value="Frau"><br>
    Vorname: <input name="vorname<? echo $a; ?>" type="text" value="<? echo $_GET["vorname".$a]; ?>"><br>
    Nachname: <input name="nachname<? echo $a; ?>" type="text" value="<? echo $_GET["nachname".$a]; ?>"><br>
    Geburtsdatum: <input name="geburtsdatum<? echo $a; ?>" type="text" value="<? echo $_GET["geburtsdatum".$a]; ?>"><br>
    </form>
    <?  } ?>
    Bin für jeden Ratschlag dankbar!

  • #2
    die bastelei mit dem $a birgt probleme.
    benutze die array-schreibweise:
    Code:
    <input name="vorname[]" ...
    etc.

    Kommentar


    • #3
      okay danke, mach ich! jedoch lösen tut dies das problem auch noch nicht...

      Kommentar


      • #4
        ich schaffs auch nicht das array richtig anzuwenden ;(
        hab die input felder anstatt mit dem $a..., wie von dir beschrieben ersetzt, genauso das select menü, nur bei dem js teil hab ich ein problem ,da brauch ich dann doch wieder meine lösung oder?
        habs dann so ausgelesen:
        PHP-Code:
        foreach ($vorname as $elem) {

        echo 
        "$elem<br>";


        ist jedoch nur ein eintrag dann vorhanden, das könnte aber auch wegen den js menü zu tun haben?

        Kommentar


        • #5
          hallo,
          habe nun noch einige stunden an dem script gebastelt, nun funktioniert alles, bis auf die autoamtische aktualisierung (d.h. wenn man aus dem dropdown menü einen eintrag ändert... woran kann das liegen? das aktuelle script: (nun mit sessions)
          PHP-Code:
          <?php 

          for($var=1$var<=8;$var++) {
          if(isset(
          $_GET['art'.$var])) {
          $_SESSION['art'.$var] = $_GET['art'.$var]; }
          if(isset(
          $_GET['anrede'.$var])) {
          $_SESSION['anrede'.$var] = $_GET['anrede'.$var]; }
          if(isset(
          $_GET['vorname'.$var])) {
          $_SESSION['vorname'.$var] = $_GET['vorname'.$var]; }
          if(isset(
          $_GET['nachname'.$var])) {
          $_SESSION['nachname'.$var] = $_GET['nachname'.$var]; }

          }

          ?>
          <form name="buchen" method="get" action="<? $PHP_SELF ?>"> <?
          for($a=1; $a<=8; $a++) {
          ?>

          <select name="art<? echo $a; ?>" onChange="document.buchen.submit();">
                                         <option value="001" <?php if($_SESSION['art'.$a]=="001") {echo "selected";} ?>>Auswahl 1</option>
                                      <option value="002" <?php if($_SESSION['art'.$a]=="002") {echo "selected";} ?>>Auswahl 2</option>
                                      <option value="003" <?php if($_SESSION['art'.$a]=="003") {echo "selected";} ?>>Auswahl 3</option>
                                      <option value="004" <?php if($_SESSION['art'.$a]=="004") {echo "selected";} ?>>Auswahl 4</option>
                                      <option value="005" <?php if($_SESSION['art'.$a]=="005") {echo "selected";} ?>>Auswahl 5</option>
                                                                      </select>

          Anrede: Herr <input name="anrede<? echo $a;?>" type="radio" value="Herr" <?php if($_SESSION['anrede'.$a]=="Herr") { echo "checked";} ?>>
          Frau<input name="anrede<? echo $a;?>" type="radio" value="Frau" <?php if($_SESSION['anrede'.$a]=="Frau") { echo "checked";} ?>><br>
          Vorname: <input name="vorname<? echo $a;?>" type="text" value="<? echo $_SESSION['vorname'.$a]; ?>"><br>
          Nachname: <input name="nachname<? echo $a;?>" type="text" value="<? echo $_SESSION['nachname'.$a]; ?>"> <br><br>
          <?  } ?>

          <input name="submit" type="submit" value="absenden">
          </form>

          Kommentar

          Lädt...
          X