2012-07-11 81 views
-2

我有一個表單...我必須爲表單上每個產品的字段使用相同的名稱。多個輸入的同名

PartNo,項目和價格,如果我想添加一個訂單按鈕的多個項目,這不能改變。下面的示例代碼適用於使用Cart32的購物車軟件將多個商品添加到購物車。我想知道他們如何使用像PartNo這樣的相同名稱作爲許多項目,並且能夠檢索該字段的所有值。

我試着寫我自己的頁面來接收輸入,對於我的生活,我無法獲得任何重複字段(如PartNo,Qty和Price)的多個項目。我已經嘗試了$ _REQUEST,$ _POST和$ _GET,並且我只獲取最後一個值,所以它不是一個大小寫問題。

這裏是一個精簡的例子。

<FORM name ='x' METHOD="post" ACTION="https://www.cart32.com/cart32.ex… 
<!-- item 1 --> 
<div id'=x'> 
#1 | desc1 | $27.99 Qty: <input type='text' size='3' name='Qty' value='0'> 
<input type=hidden name='PartNo' value='11'> 
<input type=hidden name='Item' value='product1'> 
<input type=hidden name='Price' value='27.99'> 
</div> 


<!-- item 2 --> 
<div id'=x'> 
#2 | desc2 | $7.99 Qty: <input type='text' size='3' name='Qty' value='0'> 
<input type=hidden name='PartNo' value='11'> 
<input type=hidden name='Item' value='product1'> 
<input type=hidden name='Price' value='7.99'> 
</div> 

<div><input type='submit' value='Order'></div> 
</form> 
+8

使用'名稱= PARTNO []'和通過陣列中的PHP檢索'的var_dump($ _ POST [ 'PARTNO'])''$ _POST [ 'PARTNO'] [0] $ _POST [」 PartNo'] [1]'等... – 2012-07-11 23:22:07

+0

[添加多個輸入到文件php表單提交](http://stackoverflow.com/questions/10763530/adding-multiple-inputs-to-file-php- form-submit) – 2012-07-11 23:24:29

+0

如果由於某種原因你不能做邁克爾所建議的(這是正確的答案),那麼理論上可以推出你自己的解析器來處理將處理數據的消息正文,但它是一個巨大的PITA,所以首先嚐試一下。 – DaveRandom 2012-07-11 23:25:03

回答

2

如果追加[]到您的表單字段名,PHP將採取這些領域,並把它們放到一個數組,例如

<input type="text" name="field[]" value="first" /> 
<input type="text" name="field[]" value="second" /> 
<input type="text" name="field[]" value="third" /> 

會產生以下$ _ POST結構:

$_POST = array(
    'field' => array(
     0 => 'first', 
     1 => 'second', 
     2 => 'third', 
    ) 
); 

另一種方法是遞增的數字追加到每個字段的名稱,如您複製現有的字段設置爲每一個新塊。這在塊之間提供了很好的分離,並且可以保證相關字段具有相同的數字標籤,但它確實使處理複雜化。

Adding multiple inputs to file php form submit

+0

謝謝!!!,這工作。 – user1519293 2012-07-11 23:43:02

+0

您的歡迎。在堆棧溢出處,我們通過點擊檢查按鈕來感謝人們。謝謝哈哈 – maxhud 2012-07-11 23:44:54