我有一个包含多个文本框的表单,这些表单是动态创建的,现在所有这些文本框都是同名的,我们可以说txt
,现在有什么方法可以在表单处理发生时读取所有文本框值$_POST
方法,即所谓的同名方法。如果可能的话怎么办?
答案 0 :(得分:4)
您必须为文本框命名txt[]
,以便PHP为您创建数字索引数组:
<?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);
}
?>
否则,最后一个文本框'值将覆盖所有其他值!
您还可以创建关联数组:
<input type="text" name="txt[numberOne]" />
<input type="text" name="txt[numberTwo]" />
<!-- etc -->
但是你必须自己处理这些名字而不是让PHP这样做。
答案 1 :(得分:1)
创建名称为txt []
的文本框<input type='text' name='txt[]'>
在PHP中将它们视为
$alTxt= $_POST['txt'];
$N = count($alTxt);
for($i=0; $i < $N; $i++)
{
echo($alTxt[$i]);
}
答案 2 :(得分:0)
如果您需要名称,可以使用txt[name1]
为输入命名,然后您可以从$_POST['txt']['name1']
获取值。 $_POST['txt']
将是一个关联数组。