neues Inputfeld erstellen bei Buttonklick

Zero2000

Erfahrenes Mitglied
Hallo

Ich würde gern ein Bestellformular auf webbasis erstellen mit PHP.
Dabei soll ein inputfeld vorhanden sein und ein Button.
In das Inputfeld kann ich z.B. den Artikel schreiben und wenn ich auf den Button klicke kommt ein neues Inputfeld dazu.

Da ich ja von vornherein nicht weiß wieviele Posten es werden bringt es mir nichts wenn ich da schon 10 Inputfelder stehen habe. Und am Ende brauche ich dann doch bloß eins...

In den Boards von phpbb kann man eine Umfrage erstellen. Und genauso würde ich es gern machen. Ich habe schon die Seite angeschaut in der die Umfrage erstellt wird, aber das ist für meine PHP-Kenntnisse zuviel "drumherum".

Ich verlange auf keinen Fall das Ihr mir eine fertige Lösung präsentiert.
Vielmehr möchte ich nur Lösungsvorschläge und ansätze von euch haben.

Ich danke euch schonmal.

MfG Maik
 
Naja auf die Schnelle fällt mir eine recht "lauwarme" methode ein:

Du definierst eine Variable - nennen wir sie mal $x - die den Startwert 1 hat. Das Eingabe-Formular wird von einer Schleife aufgebaut die $x mal läuft und immer ein Feld mit dem name-Suffix $x erzeugt. Wenn die Schleife durch ist, wird $x um den Wert 1 erhöht - außerdem ein hidden Field mit dem Value $x. Klickt man nun auf den Butten "Artikel hinzufügen" (oder was auch immer) Sendet dieser Butten das Formular wieder an das Programm ->folglich erzeugt die Schleife diesmal ein Feld mehr...

Natrülich müßtest du die eingetragenen Werte der vorigen Felder wieder als value in selbige ausgeben...

Eine Session basierende Methode wäre auch denkbar...
 
Im Prinzip würde ich das ähnlich machen wie rottroll (wahrscheinlich aber mit Sessions). Einen kleinen aber wichtigen Tipp habe ich aber:
Bei Formularen variabler Größe ist es besonders wichtig, eine sinnvolle Benennung der Formelemente zu praktizieren. Dabei bietet sich folgende Schreibweise an:
HTML:
<input type="text" name="bestellen[]">
<!-- oder eine andere Variante, wenn die Reihenfolge wichtig ist: -->
<input type="text" name="bestellen[0]">
Durch die eckigen Klammern bekommt man direkt ein Array $_POST['bestellen'] in PHP zurück, das man einfacher bearbeiten kann als wenn man mit echten Namenssuffixen arbeitet.
 
Zuletzt bearbeitet:
Hallo

Danke für eure Hinweise und Tipps. Ich habe schon begonnen und mal sehen was ich das WE daraus mache.

@Ceppi
Das mit dem ARRAY hatte ich schon so gemacht. ;)

MfG Maik
 
Wenn du sowas in der Richtung hast, wärs nett wenn du das script hier posten könntest - ich glaub ich brauche sowas früher oder später nämlich auch!
 
Zurück