Speichern von Daten eines seeeehr langen Formulars

  • Hallo zusammen.

    Ich bräuchte mal eure Ideen bei einem Problem.
    Ich habe hier ein sehr langes Formular, grep sagt 146 inputs, puh.
    Nun wird natürlich auch hier auf richtige Eingaben überprüft. Bei falscher Eingabe des Sicherheitscodes (z.Bsp.) wird das Formular mit diesem Hinweis wieder angezeigt. Nur sind jetzt die Eingaben wieder weg, was Mist ist.
    Bei kurzen Formularen habe ich das immer mit so einfachen Abfragen ala

    Code
    <input type="text" value="
    <?
    (isset($_POST['name'])) ? echo $_POST['name'] : echo ""; 
    ?> 
    "
     />

    gemacht. Aber bei der Länge ist mir das zu Aufwendig, vor allem, da ja auch selects und Checkboxen dabei sind (und davon nicht zu wenig :roll: ).

    Was denkt ihr? Schon vor dem Absenden ne Überprüfung mit Javscript fällt mir da als schnellste Lösung ein, oder lohnt sich hier doch schon AJAX?

    Freue mich auf Antworten,

    Gruß,
    Jojo


  • Du könntest es doch so machen:
    ganz oben für jedes Input:

    Code
    $inputs = array('name','wohnort',...);


    dann eine schleife:

    Code
    foreach($inputs as $input)
      if(!isset($_POST[$input])) $_POST[$input] = '';


    Und danach kannst du das ausgeben mit:

    Code
    foreach($inputs as $input)
      echo "<input type=\"text\" value=\"".$_POST[$input]."\" />";

    //edit:
    Und dann am ende einfach alle selects und checkboxen machen (falls die reihenfolge egal ist)
    sonst nur die überprüfung in einer Schleife und die ausgabe normal

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Danke für deine Antwort, Dodo.
    Leider wird das Formular nicht dynamisch erstellt, es hat leider willkürliche Strukturen :roll: Die Reihenfolge spielt also eine Rolle.
    Vermute fast, php macht hier aktuell keinen Sinn, ohne das Formular gänzlich neu zu machen, was momentan nicht möglich ist.
    Vielleicht hat jemand ne klevere JS-Lösung?


  • Kann mir das grad so nicht ganz vorstellen, hast vielleicht ne Seite wo ich mir das ganze mal anschauen kann, vielleicht fällt mir da noch was ein um das ganze zu erleichtern ;)

    Gruß crAzywuLf :D