2011-05-16 57 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