一个字段中的两个值

时间:2011-05-21 13:11:30

标签: php

当价格设为120 $:

时,我就是这种简单的形式
  <input type="checkbox" name="addon[book]" value="120" /> book
  <input type="checkbox" name="addon[plane]" value="420" /> Plane

我可以用thr形式发送两个值(USD&amp;€)吗?

编辑:

我添加了name="addon[book]",因为我也会显示name

编辑2:

PHP:

foreach($addon as $name => $value) {
    echo 'your addons: '.$name;
}
$total = array_sum(array_map("intval", $_POST["addon"]));
echo 'the total '.$total.' $'; 

1 个答案:

答案 0 :(得分:5)

<input type="hidden" name="addon[book_USD]" value="250" />
<input type="checkbox" name="addon[book_EUR]" value="120" /> book

但是从不信任表单的输入。检查后端代码中的价格,或者用户可以更改价格!

修改

json编码怎么样?

<input type="checkbox" name="addon[book]" value="{&quot;USD&quot;:250,&quot;EUR&quot;:120}" /> book

EDIT2

要展开您必须使用的值json_decode()

EDIT3

正如其他人(和我自己)已经说明你要做的事情(至少从它的外观来看)是你使用输入字段中的价格作为用户要支付的价格。

这不是你能做的最好的事情,因为用户可以轻松改变输入字段的价格。

我不知道你的代码,但是如下所示会更好:

<input type="checkbox" name="addon[book]" value="book1">

在您的PHP代码中:

$prices = array('book1'=>array('USD'=>250, 'EUR'=>120),
                'book2'=>array('USD'=>120, 'EUR'=>60),
);