我的关联数组。
$money = array("Nickels" => $_POST["nickels"], "Dimes" => $_POST["dimes"], "Quarters" =>$_POST["quarters"]);
我的html表单设置为处理Quarters, 在这种情况下,为简洁起见,未显示尺寸和镍。
<label><b>Quarters:</b></label>
<select name="quarters" >
<option value=".25">25c</option>
<option value=".50">50c</option>
<option value=".75">75c</option>
<option value="1">$1.00</option>
</select>
用户只能选择“仅限四分之一”,“仅限尺寸”或“仅限镍”。 如果用户选择选项值为.25的Quarters,则会将此值发送给 php脚本。
所以我只是想根据用户可以选择的事实进行计算 四分之一只有一个值,Dimes只有一个值,而Nickels只有一个 价值,而不是面额的组合,
如何设置不同的测试用例,例如,如果用户选择
$money["Quarters"];
//使用来自html表单的不同值为.25,。50,.75或1,并且根据用户选择的内容,只有一个选定值将通过php脚本。
我可以这样做:
switch($selection)
{
case “Quarters”:
echo “ You chose $money[‘Quarters’]; .<br />”;
break;
case “Nickels”:
echo “You chose $money[‘Nickels’]; .<br />”;
break;
case “Dimes”:
echo “You chose $money[‘Dimes’]; . <br />”;
break;
default: print “Please select a Denomination”;
}
感谢您没有点燃newb,我仍然在学习,对于"
和“
的混合搭配感到抱歉。
答案 0 :(得分:2)
表单中的选定值提交为$_POST['quarters']
。
据我所知,您想检查一下,如果用户选择了多个<select>
s(正确吗?)
所以,我会创建一个这样的支票:
$selected = 0;
if ($_POST['quarters'] != "DEFAULT_VALUE_OF_YOU_SELECT_QUARTERS")
{
$selected++;
}
if ($_POST['nickels'] != "DEFAULT_VALUE_OF_YOU_SELECT_NICKELS")
{
$selected++;
}
if ($_POST['dimes'] != "DEFAULT_VALUE_OF_YOU_SELECT_DIMES")
{
$selected++;
}
if ($selected > 1)
{
// The user has selected more than one
}
答案 1 :(得分:0)
这里有几点需要注意。
因此,首先,您的$money
数组会捕获用户提交的每个值。
接下来,设置HTML <select>
语句的方式,没有默认值。 $_POST["quarters"]
中的第一个选项将是.25
,即使用户从未接触过该下拉菜单。为避免这种情况,您需要添加到Quarters <select>
:
<option value="0">-- Select Quarters --</option>
但是这仍然不允许你使用switch / case语句。您仍然要为每个HTML <select>
标记提交值。 Florian Peschka的解决方案更好,因为它会检查每个下拉菜单,确保它们只使用一个下拉菜单,如果不这样做,可能会显示一条消息。
最后......我不知道你的例子中$selection
指的是什么。您正在填充$money
数组,因此$selection
变量不存在。
如果你澄清你的问题,我可以提供进一步的帮助。