我有一个包含4个复选框的表单。选中此框后,对于选中的每个复选框,从表单生成的电子邮件将显示默认的“打开”。
我想将此更改为“是”。问题是虽然我可以使用下面的代码将默认设置更改为“是”,但是现在会在电子邮件中的每个选项旁边显示“是”,无论是否在表单上选中了复选框。我是PHP的新手,到目前为止,我所搜索的答案都没有解决我遇到的问题。任何关于如何修复的建议将非常感激。谢谢!
HTML
<input type="checkbox" name="red" id="red" value="yes">
<label for="red">Red</label></p><p>
<input type="checkbox" name="blue" id="blue" value="yes">
<label for="blue">Blue</label></p><p>
<input type="checkbox" name="green" id="green" value="yes">
<label for="green">Green</label></p><p>
<input type="checkbox" name="yellow" id="yellow" value="yes">
<label for="yellow">Yellow</label>
PHP
$red = $_POST['red'];
if ($red != 'Yes') {
$red = 'Yes';
}
$blue = $_POST['blue'];
if ($blue != 'Yes') {
$blue = 'Yes';
}
$green = $_POST['green'];
if ($green != 'Yes') {
$green = 'Yes';
}
$yellow = $_POST['yellow'];
if ($yellow != 'Yes') {
$yellow = 'Yes';
}
谢谢!
答案 0 :(得分:1)
如果选中该复选框,则只能通过$_POST
$red = $_POST['red'];
if ($red != 'Yes') {
$red = 'Yes';
}
将$ red设置为Yes,无论是否勾选复选框,$red = $_POST['red'];
都将返回null
并且$_POST['red'];
会为您提供输入的值属性:复选框<input type="checkbox" name="red" id="red" value="yes">
在这种情况下,它会输出yes
。
答案 1 :(得分:1)
Oc all将显示为yes,你正在做的是检查每个复选框是否为yes然后设置为yes。您的最终结果将是所有框设置为是。试试这个:
$red = $_POST['red'];
if ($red != 'Yes') {
$red == 'No';
}