phpbar.de logo

Mailinglisten-Archive

[php] Wie Formularwerte in einem Array zurueckbekommen?

[php] Wie Formularwerte in einem Array zurueckbekommen?

Dennis Sterzenbach lists at darknoise.de
Die Okt 7 12:15:59 CEST 2003


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