Ich habe ein Formular mit mehreren Textfeldern, die dynamisch erstellt werden, jetzt alle diese Textfelder haben den gleichen Namen können sagen txt
, jetzt gibt es keine Möglichkeit, dass, wenn Formularverarbeitung passiert konnten wir lesen alle Textfelder Werte mit $_POST
Methode, die von so genannten gleichen Namen sind. Wenn möglich wie?Wie bekomme ich Post von den gleichen Namen Textboxen in PHP
0
A
Antwort
4
Sie haben Ihre Textfelder nennen txt[]
so erzeugt PHP eine numerisch indiziertes Array für Sie:
<?php
// $_POST['txt'][0] will be your first textbox
// $_POST['txt'][1] will be your second textbox
// etc.
var_dump($_POST['txt']);
// or
foreach ($_POST['txt'] as $key => $value)
{
echo 'Textbox #'.htmlentities($key).' has this value: ';
echo htmlentities($value);
}
?>
Ansonsten ist der letzte Textbox‘Wert wird alle anderen Werte überschreiben!
Sie könnten auch assoziative Arrays erstellen:
<input type="text" name="txt[numberOne]" />
<input type="text" name="txt[numberTwo]" />
<!-- etc -->
Aber dann müssen Sie kümmern sich um den Namen nehmen, um sich anstatt dass PHP es zu tun.
0
Wenn Sie Name möchten, könnten Sie die Eingabe mit txt[name1]
benennen, dann können Sie es Wert von $_POST['txt']['name1']
erhalten. $_POST['txt']
wird ein assoziatives Array sein.
1
Erstellen Sie Ihre Textfeld mit Namen txt []
<input type='text' name='txt[]'>
Und in PHP sie als
lesen$alTxt= $_POST['txt'];
$N = count($alTxt);
for($i=0; $i < $N; $i++)
{
echo($alTxt[$i]);
}