formular n-ter Länge auswerten
dey
- php
Hallo,
ich möchte ein Formular mit n Inputfeldern gleichen Namens generieren.
Bis dato habe ich das immer mit einem Zähler gelöst und diesen dann an den Namen angefügt: name.$count
1. Ist das eine Standardlösung oder Schrott?
Das Problem kommt bei der Auswertung des Formulars.
$_REQUEST['name'.$i] in einer for-Schleife ist nicht zulässig. Da muß ich 'name'.$i erst in eine weitere Variable $tmp_name='name'.$i umwandeln.
2. Gibt es ingesamt ein schlaueres Konstrukt?
bydey
Hi,
du kannst alles in einen Array packen. Nenne das feld einfach: name[]
Ist im Prinzip das selbe nur dass du die Nummer nicht selber dazuschreiben musst und, dass es handlicher ist.
gruß
Alex
echo $begrüßung;
ich möchte ein Formular mit n Inputfeldern gleichen Namens generieren.
Bis dato habe ich das immer mit einem Zähler gelöst und diesen dann an den Namen angefügt: name.$count
- Ist das eine Standardlösung oder Schrott?
Die Antwort solltest du dir doch aufgrund deines Problems selbst geben können. :-)
Das Problem kommt bei der Auswertung des Formulars.
$_REQUEST['name'.$i] in einer for-Schleife ist nicht zulässig.
Warum sollte das nicht zulässig sein? Du kannst nur ein Problem mit der for-Schleife bekommen, wenn zum Wert der Laufvariable kein entsprechendes Input-Feld vom Client mitgesendet wurde. Besser ist es, in dem Fall foreach zu verwenden. foreach läuft über die vorhandenen Elemente und tappt somit nicht ins Nichts.
- Gibt es ingesamt ein schlaueres Konstrukt?
Beispielsweise <input name=name[]> oder <input name=name[irgendwas]>. Daraus erzeugt PHP ein Array, also vom Prinzip her so: $_POST['name'] = array(...)
echo "$verabschiedung $name";
Hallo,
Die Antwort solltest du dir doch aufgrund deines Problems selbst geben können. :-)
Ich hatte es mir gedacht!
Warum sollte das nicht zulässig sein?
Weil wenn man Schreibfehler bei Variablennamen einbaut gar nix zulässig ist! Immer wieder ein Problem bei mir: Verwaltung aller Variablennamen.
Jetzt geht es auch.
Beispielsweise <input name=name[]> oder <input name=name[irgendwas]>. Daraus erzeugt PHP ein Array, also vom Prinzip her so: $_POST['name'] = array(...)
Wird getestet
bydey