如何知道在使用内爆PHP后表单中选中了哪个复选框?

如何知道在使用内爆PHP后表单中选中了哪个复选框?,php,forms,post,Php,Forms,Post,我构建了一个即时报价计算器,当点击复选框时,它会给出一个价格。有些复选框的价格相同 当我使用$\u POST['package']变量中的函数时,该变量包含这些复选框的值(我将它们发送到电子邮件后),我无法判断选中了哪个复选框 HTML代码: <form> <p><fieldset id="packages" class="logo_choice"> <legend>Do you want to register a new web

我构建了一个即时报价计算器,当点击复选框时,它会给出一个价格。有些复选框的价格相同

当我使用
$\u POST['package']
变量中的函数时,该变量包含这些复选框的值(我将它们发送到电子邮件后),我无法判断选中了哪个复选框

HTML代码:

<form>
    <p><fieldset id="packages" class="logo_choice">
    <legend>Do you want to register a new website?</legend>
    <ol>
        <li>
            <input type="checkbox" name="package[]" id="package_basic" value="15.00">
            <label for="package_basic">Yes <font color="F69B35">($15)</font></label>
        </li>
        <li>
            <input type="checkbox" name="package[]" id="package_pro" value="0.00">
            <label for="package_pro">No <font color="F69B35">($0)</font></label>
        </li>
        <li>
            <input type="checkbox" name="package[]" id="package_pro" value="0.00">
            <label for="package_pro">Maybe <font color="F69B35">($0)</font></label>
        </li>

    </ol>
    </fieldset></p>
</form>
我收到的电子邮件:

Domain: 0.00 15.00 0.00

我如何知道选择了哪一个(即选择了哪个复选框)?

如果任何时候只能勾选1,则应使用单选按钮


此外,如果使用复选框,则所有3个值都需要不同,因此如果要使用数组,则应指定适当的HTML类型,例如radio,并适当设置名称(您现在有一个重复的ID):

这会给你,比如说

package basic for 15.00
package extra for 20.00
for a total of 35.00

包[]应该可以工作。这只是意味着如果你勾选其中两个选项,$\u POST['package']将包含一个同时包含两个值的数组。是的,我为其中一些使用了无线电,这是一个非常长的形式。这是第一个。它变得非常混乱well@TonyArra您对此有何解决方案?PleaseAs在下面的回答中表示,相反,考虑“代码”> Name=“包”的单选按钮,这将导致诸如“代码> $i请求([包)]=“15”< /代码>。也就是说。也许是因为你有重复的
id
s?你的表单操作和方法在哪里?@asefseferov@user113215对于某些事情我使用无线电,但并不总是这样。
<li>
    <input type="radio" name="package" id="package_basic" value="15.00">
    <label for="package_basic">Yes <font color="F69B35">($15)</font></label>
</li>
<li>
    <input type="radio" name="package" id="package_pro" value="0.00">
    <label for="package_pro">No <font color="F69B35">($0)</font></label>
</li>
<li>
    <input type="radio" name="package" id="package_maybe" value="0.00">
    <label for="package_maybe">Maybe <font color="F69B35">($0)</font></label>
</li>
<li>
    <input type="checkbox" name="package[basic]" id="package_basic" value="15.00">
    <label for="package_basic">Yes <font color="F69B35">($15)</font></label>
</li>
<li>
    <input type="checkbox" name="package[pro]" id="package_pro" value="15.00">
    <label for="package_pro">No <font color="F69B35">($0)</font></label>
</li>
<li>
    <input type="checkbox" name="package[extra]" id="package_extra" value="20.00">
    <label for="package_extra">Maybe <font color="F69B35">($0)</font></label>
</li>

$total = 0;
foreach ($package as $key => $value) {
    $email .= "package {$key} for {$value}<br />\n";
    $total += $value;
}
if ($total > 0) {
    $total = number_format($total, 2);
    $email .= "for a total of {$total}";
}
package basic for 15.00
package extra for 20.00
for a total of 35.00