出于培训目的,我已经制作了一个输出复选框值的小代码。这很好,但因为我能够检查多个复选框,我希望他们加起来。这是我的代码;
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<form name="orderform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="checkbox" name="korting" value=15 /> Student 15% <br>
<input type="checkbox" name="korting" value=10 /> Senior 10% <br>
<input type="checkbox" name="korting" value=5 /> Klant 5% <br>
输出写入的值;
<?php
if(isset($_POST["korting"]))
{
if($_POST["korting"]==15)
{
echo ("15 procent korting");
}
else if ($_POST["korting"]==10)
{
echo ("10 procent korting");
}
else if($_POST["korting"]==5)
{
echo ("5 procent korting");
}
else if(isset($_POST["korting"]) && (isset($_POST["korting"])))
{
if($_POST["korting"]==25)
{
echo ("25 procent korting");
}
}
}
?>
只要选中一个复选框,一切正常。一旦检查多个,它只使用最后一个。我尝试过多种方式:
else if(isset($_POST["korting"]) && (isset($_POST["korting"]))
{
echo ("25 procent korting");
}
和
else if($_POST["korting"=15] && $_POST["korting"]=10)
{
echo ("25 procent korting");
}
两者都不会在页面上出错,但也不起作用。我知道使用完全不同的方法可能更好,但现在这就是本书教我的方式
问候,
伦纳特
答案 0 :(得分:1)
你需要的是一个阵列。复选框如下所示:
<input type="checkbox" name="korting[]" value="15" />
<input type="checkbox" name="korting[]" value="10" />
$_POST['korting']
将是一个值数组,如下所示:
array(
0 => 15,
1 => 10
)
您可以遍历它们以打印出值:
foreach ($_POST['korting'] as $korting_value) {
echo $korting_value . "<BR>";
}
如果要添加值,可以使用array_sum:
echo array_sum($_POST['korting']);