如何在新文件中使用input元素的值(GET方法)

时间:2011-06-05 11:11:00

标签: php forms

<?php
// code that connects to database
?>
<table>

    <form method="get" action="processorder.php">
            <?php
            while (list($pizzaId, $pizzaName, $pizzaNumber, $pizzaPrice) = mysql_fetch_row($resultaat))
                    {

                        echo           "<tr>
                                    <td>".$pizzaName."</td>
                                    <td>".$pizzaNumber."</td>
                                    <td>".$pizzaPrice."</td> 
                                    <td> <input type='text' name='$pizzaId' value='$qty' size='3' /></td>
                                    </tr>";
                    }
            mysql_close($db);        
            ?>
        <input type="submit" value="Order now" />

我想显示输入元素中有值的比萨饼。 processorder.php文件看起来像: 我的网址显示了'='之后的值的pizzaId。所以我想我的手上有一个关联数组。 我以为我会在我的processorder.php中放一个foreach循环,就像

一样
   foreach ($_GET['pizzaId'] as $pizza => $qty)    
            {
                echo $pizza." ".$qty."<br />";
            }

然而,当我使用foreach循环时,浏览器中的错误表明我的foreach循环的参数无效,因为$ _GET ['pizzaId']不是一个开头的数组(我用is_array检查过)。 那么如何在input元素的value属性中访问这些值?

2 个答案:

答案 0 :(得分:1)

你的$ pizzaId是一个整数。 我会将输入元素的名称更改为name =“pizzas [$ pizzaId]”,然后您可以通过PHP访问它,如下所示:

foreach ($_GET["pizzas"] as $pizzaId => $pizzaQty) {
    echo "$pizzaId $pizzaQty<br />";
}

使用此方法,而不仅仅是普通名称=“pizzas []”,您还保留与实际pizzaId的关联。

答案 1 :(得分:0)

如果您需要将数组放入$ _GET,那么您的网址应如下所示:

//site/page?pizzaID[]=123&pizzaID[]=124

您可以使用name输入字段

的类似用法来实现此目的
<input name="pizzaID[]" />
<input name="pizzaID[]" />