2013-06-18 75 views
1

如果我在html表单中使用数组,我如何从$ _POST获取变量?

我知道这是不正确的,但它是我最好的猜测:

$项目= $ _ POST [$关键] $ price = $ _POST [$ value];

<?php 
// array begins 

$database = array(
    'Sportscar'   => array(
      'price'  => 11.95, 
      'shipping' => 0.4, 
      'ID'  => 1), 

    'Diamonds'  => array( 
      'price'  => 44.99, 
      'shipping' => 0.10, 
      'ID'  => 4), 
      ); 

?> 
<p>Select an item from the list.</p> 

<form method="GET" action="add.php"> 

<select name="choices"> 

<? while(list($key,$value) = each($database)) { 
echo "<option value='$key'>" . $key . " - " ; 

while(list($key,$value) = each($value)) { 
    echo money_format("$%i", $value); 

echo "</option>"; }} echo "</select> 

<input type='submit' value='Add to cart' /> 
</form> 
?> 

回答

2

1)您在表单中使用GET,而不是POST。更改此:

<form method="GET" action="add.php"> 

到:

<form method="POST" action="add.php"> 

2)通过上面的变化,你会得到你的价值(即$ _ POST你的情况选择$键)[ '选择']

+0

谢谢!我将如何分别调用该项目和价值? – Rabbitvillain

+0

您不必提交选择框的值......您可以尝试在服务器脚本中获取所需的密钥,并再次从数据库中将相关的值加载到服务器脚本中。这也是一个安全问题:如果用户修改了表单并使用不在数据库中的值提交它,会发生什么?你永远不应该信任用户输入 –

+0

优秀的点。 – Rabbitvillain

相关问题