在表单中使用相同的隐藏名称属性


Using same hidden name attribute in Form

我正在开发一个电子商务应用程序,我在其中显示所有产品。我将价格作为输入隐藏属性传递。

<input type="hidden" name="retail_price_cost"  value="10"/>
<input type="hidden" name="wholesale_price_cost"  value="0.30"/>
<input type="submit" class="button subbutton" name="add_to_cart"  value="ADD TO CART" />

但是,它从列出的产品中获取最后一个值。我尝试转换成一个数组,通过使用:

<input type="hidden" name="retail_price_cost[]"  value="10"/>
<input type="hidden" name="wholesale_price_cost[]"  value="0.30"/>
<input type="submit" class="button subbutton" name="add_to_cart[]"  value="ADD TO CART"/>

但是,当我单击Add to cart时,它显示的是整个数组,而不仅仅是被单击的表单元素属性。

你知道有什么问题吗?

您有一个包含所有输入的单一表单。当您提交表单时,将提交所有输入。

每种产品使用单独的表单。


你似乎也相信浏览器会告诉你价格。这很容易被篡改。您最好发送一个产品id,然后在服务器上查找价格。

<button type="submit" 
        name="add_to_cart"
        value="your_product_id_12345">
Add to cart
</button>