Inge: sinnvolles Formularhandling

Beitrag lesen

Hallo,

ich möchte auf eine Website folgendes umsetzen:

Es gibt ein HTML Formular, welches aus 3 Schritten und somit aus 3 Dateien besteht (form1.php, form2.php, form3.php). Beim Aufruf kommt man auf form1.php; von dort auf per link weiter auf form3.php und von dort aus auf form3.php. In form 3.php gibt es einen letzten Link, welcher auf eine Bestätigungseite führt und die eingegebenen Daten aus den 3 Dateien per E-Mail verschickt.

Dieses Formular ist von 25 verschiedenen Links aus aufrufbar.

In abhängigkeit des Links, über welchen auf das Formular gekommen wurde, sollen in form2.php andere Formularfelder angezeigt werden.

Wie realisiere ich nun sowas?

Auf dem Apache Server läuft PHP; eine MySQL DB hab ich auch zur Verfügung.

Ich dachte an folgende Lösung:

  • Den 25 Links, welche auf das formular führen, wird jeweils eindeutiger ein Query- String angehängt

Bspl.:
<a href="form1.php?link=1">link1</a>
<a href="form1.php?link=2">link2</a>
<a href="form1.php?link=25">link25</a>

  • Die eingegeben Daten aus form1.php werden bei klick auf den link zum form2.php in einer Session gespeichert.

  • Am Anfang von form2.php wird ein mehrdimensionales Array definiert, welches die Angaben zu den Feldern je Link hat

Bspl.:

array[link1][feld1][name] = 'foo'
array[link1][feld1][type] = 'text'
array[link1][feld1][length] = '20'

array[link1][feld2][name] = 'bar'
array[link1][feld2][type] = 'radio'

array[link1][feld3][name] = 'irgendwas'
array[link1][feld3][type] = 'text'
array[link1][feld3][length] = '20'

array[link2][feld1][name] = 'foo'
array[link2][feld1][type] = 'text'
array[link2][feld1][length] = '20'

array[link25][feld1][name] = 'foo'
array[link25][feld1][type] = 'text'
array[link25][feld1][length] = '20'

Dieses Array wird nun je nach übergebenem Query String (der natürlich von form1 auf form2 mitgeschleift wird) ausgelesen und die entsprechenden Eingabefelder werden generiert.

Die Eingabe wird dann bei Klick auf weiter wieder im Array gespeichert.

  • Beim generieren der E-MAil werden die Daten zu den Session-Variablen wieder aus dem Array gelesen.

Ist das eien gute Möglichkeite? Oder wie gehts einfacher?

Vielen Dank für Euere Hilfe!!