1

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

我已经能够创建 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”。不能用于获取数字?

任何帮助将不胜感激。提前致谢!

4

1 回答 1

4

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

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

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

例如:

<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
于 2013-03-12T14:23:43.860 回答