2011-05-16 38 views
3

我有这样的简单形式:获取名称和值与PHP

HTML:

<input type="checkbox" name="product[]" value="20$" /> book 
<input type="checkbox" name="product[]" value="30$" /> plane 

PHP:

 

$product = $_POST['product']; 
foreach($product as $value) { 
    echo $value; 
} 
 

注:
用户可以选择一个或两个...产品。

问:
我想知道是否有一个解决方案,以获得name太像添加一个ID类或东西..

基本上我不能得到name属性,因为我没有” t发送它的形式。

+0

边注:为更好的访问性,使用标签:'<输入ID =“书” ... />' – GolezTrol 2011-05-16 22:57:07

+0

You * did *发送了name属性。这是'产品[]'。 :) – GolezTrol 2011-05-16 23:02:49

+0

我的意思是每个选择的名字(飞机或书) – Cheerio 2011-05-17 07:51:24

回答

6

缺少的信息添加到您的POST参数:

<input type="checkbox" name="product[book]" value="20$" /> book 
<input type="checkbox" name="product[plane]" value="30$" /> plane 

可以遍历它是这样的:

foreach ($_POST['product'] as $name => $value) { 
    // ... 
} 
+0

应该注意第一个变量是数组键。 +1 – 2011-05-16 22:57:40

0

您可以使用难以捉摸给出的选项,但似乎在这种情况下,您将价格从客户端传递到服务器。这可能会让人们欺诈。他们可以只用一点点黑客发送另一个(较低)的价格。如果您只是发送“预订”并重新确定服务器上的价格,这不会成为问题。

如果你选择这条道路,你可以把产品(“书”)中的值:

<input type="checkbox" id="book" name="product[]" value="book" /> 
<label for="book">book</label> 
<input type="checkbox" id="plane" name="product[]" value="plane" /> 
<label for="plane">plane</label> 
+0

是的但我想价值(价格)也:) – Cheerio 2011-05-17 07:50:21