Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果HTML表单使用数组,如何从$\u POST获取变量?_Php_Html_Forms - Fatal编程技术网

Php 如果HTML表单使用数组,如何从$\u POST获取变量?

Php 如果HTML表单使用数组,如何从$\u POST获取变量?,php,html,forms,Php,Html,Forms,如果在html表单中使用数组,如何从$\u POST获取变量 我知道这是不对的,但这是我最好的猜测: $item=$_POST[$key]; $price=$_POST[$value] <?php // array begins $database = array( 'Sportscar' => array( 'price' => 11.95, 'shipping' => 0.4,

如果在html表单中使用数组,如何从$\u POST获取变量

我知道这是不对的,但这是我最好的猜测:

$item=$_POST[$key]; $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>
?>

从列表中选择一个项目

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

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

致:



2) 通过上述更改,您将在$\u POST['choices']中获得您的值(即您案例中选择的$key)

谢谢!如何分别调用项目和值?您不必提交选择框的值。。。您可以尝试在服务器脚本中获取所需的密钥,并从数据库中再次在服务器脚本上加载其关联值。这也是一个安全问题:如果用户修改您的表单并使用数据库中没有的值提交表单,会发生什么情况?永远不要相信用户输入
<form method="POST" action="add.php">