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']これにより、名前で送信されたテキストボックスごとに1つの要素で配列が生成され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 に答える