Mailinglisten-Archive |
Hallo > Ich habe ein Formular mit "n" Formularfeldern. > > Ich moechte diese nicht alle mit jeweils einem > eigenen Namen benennen, sonder alle so benennen, > dass ich danach ein Array habe (möglichst 1- > Dimensional) das ich auswerten kann. Das funktio- > Niert ja soweit auch schon ganz gut, wenn ich nur > Textfelder oder dergleichen verwende. Dabei verwen- > de ich zum Beispiel name="werte[]" in den form- Um alle Formulardaten in einem Array zu erhalten: <form method="post"..> <input type... name="myformarray[feld1]"/> <input type... name="myformarray[feld2]"/> usw. </form> Dadurch erhältst Du im PHP nachher: $_POST['myformarray']['feld1']; $_POST['myformarray']['feld2']; etc. > Kann ich das umgehen? Ich brauche die Daten später > in einer Schleife in der ich dann in etwa so arbeiten > Kann: Soweit ich weiß hast Du doch eine Liste von Radio-Button durch: z.B.: <input type="radio" name="myformarray[radio1]" value="1"/> bla1 <input type="radio" name="myformarray[radio1]" value="2"/> bla2 bzw. <input type="radio" name="radio1" value="1"/> bla1 <input type="radio" name="radio1" value="2"/> bla2 Dadurch hat oben myformarray[radio1] den Wert des selektierten (z.b. bei Auswahl von bla1 den Wert 1) und unten analog radio1. Bei einer Checkbox *können* mehrere Werte zu einer Variablen gespeichert werden: <input type="checkbox" name="check1" value="1"/> bla1 <input type="checkbox" name="check1" value="2"/> bla2 Daher wirds wohl immer ein Array sein. > ... > $numfields = count($werte); > While ($i < $numfields) { > echo "Feld nummer $i hat den Wert " . $werte[$i] . "<BR>"; > }; > ... Ich empfehle Dir für den Zweck folgendes: foreach ($_POST['myformarray'] AS $feldname => $feldwert) { echo "Feld '" . $feldname . "' hat den Wert " . $feldwert . "<br/>\n"; } 1) die Anzahl der Felder ist egal 2) Du hast einen direkten Bezug von Feld-name zu Wert durch das assoziative Array Gruß Dennis
php::bar PHP Wiki - Listenarchive