Hello,
Jetzt über gebe ich aber ein array, wie lese ich dieses aus?
Ich habe es mit $_POST['test'][$x] versucht, aber leider ist das wohl nicht korrekt!Du kannst nur das auslesen, was da ist. Um zu sehen, was da ist, kann man eine Kontrollausgabe machen: var_dump($_POST) oder auch mit print_r().
So kann er noch nicht einmal das auslesen, was per Request "da ist", sondern nur das, was PHP daraus macht. HTTP lässt durchaus gleichnamige Parameter zu, PHP überschreibt diese aber bei der Auswertung und behält so nur den letzten in der Liste.
Und vielleicht ist das sein Problem?
@Klaus b:
Um mehrere gleichnamige Parameter per HTTP an PHP zu übergebem sodass sie dort als Array bereitgestellt werden, musst Du eine besondere Notation beachten im HTML.
Beispiel:
<input type="text" name"textfeld[]">
<input type="text" name"textfeld[]">
<input type="text" name"textfeld[]">
so würde PHP dann bei POST ein Array bereitstellen, das (u.a.) die Elemente
$_POST['text'][0]
$_POST['text'][1]
$_POST['text'][2]
enhält.
Du kannst die Index auch fest vorgeben:
<input type="text" name"textfeld[a]">
<input type="text" name"textfeld[1]">
<input type="text" name"textfeld[kalle]">
so würde PHP dann bei POST ein Array bereitstellen, das (u.a.) die Elemente
$_POST['text']['a']
$_POST['text'][1]
$_POST['text']['kalle']
Beachte dabei, dass im HTML-Code keine Häkchen um die Bezeichner gesetzt werden dürfen, im PHP-Code aber nachher für alle assoziativen Bezeichner die String-Notation gewählt weden muss, für alle numerischen Bezeichner aber nicht.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg