将多个文本框中的值作为数组提交

时间:2013-03-12 14:19:59

标签: php html

基本上我想让我的程序做的是询问用户他们想要输入多少个号码。提交值后,程序将获取该值并创建此数量的文本框。每个文本框都将采用一个数字,一旦提交,它应该采用所有数字(不包括初始文本框)并将其存储到数组或其他内容中,以便计算平均值。

我已经能够创建x数量的文本框,但无法找到提交这些值的方法。

<html>
<body>

<form action="means.php" method = "get">
Enter sample size: <input type = "number" name = "size" <br>
<input type = "submit">

<?php 
if ( isset($_GET["size"] ) )
{
$size = $_GET["size"];
$count = 1;
while ($count <= $size)
    {
    echo '<br><input type=\"text\"  name=\"textbox".$count."\" />';
    $count++;

    }
}
?>
</form>



</html>
</body>

我认为问题是创建的文本框正在回显,因此名称为“textbox。$ count。”。不能用来获取数字?

非常感谢任何帮助。提前致谢!

1 个答案:

答案 0 :(得分:4)

只需使用PHP的数组表示法表示字段名称:

<input type="text" name="textbox[]" />
                                ^^---force array mode

将在$_POST['textbox']中生成一个数组,每个文本框的一个元素以textbox[]名称提交。

e.g:

<input type="text" name="textbox[]" value="1" />
<input type="text" name="textbox[]" value="foo" />
<input type="text" name="textbox[]" value="banana" />

产生

$_POST = array(
   'textbox' => array )
         0 => 1,
         1 => 'foo',
         2 = > 'banana'
   )
)

您的问题是您使用的是单引号字符串('),这意味着

$var = 'foo';
echo '$var'  // outputs $, v, a, r
echo "$var"  // outputs f, o ,o