我有此表格,其详细信息需要通过电子邮件发送。截至目前,我只设法将其他字段包含在电子邮件中,但我遇到了这个多个复选框的问题。我有很多复选框,确切地说是23。现在,我遇到的问题是,如果选中一个复选框或只选中两个或三个复选框,我将如何包含复选框的值。
HTML
<input type="text" name="state" id="txt1">State:</input>
<input type="text" name="name" id="txt2">Name:</input>
Package A<input type="checkbox" name="radiog_dark" value="150.00" id="tcbx3" class="css-checkbox"/>
Package B<input type="checkbox" name="radiog_dark" value="175.00" id="tcbx3" class="css-checkbox"/>
Package C<input type="checkbox" name="radiog_dark" value="200.00" id="tcbx3" class="css-checkbox"/>
PHP
$state = $_POST['state'];
$entity = $_POST['entity'];
$email_message .= "State: ".clean_string($state)."\n";
$email_message .= "Entity: ".clean_string($entity)."\n";
答案 0 :(得分:0)
使用isset()方法检查复选框是否已选中
if(isset($_POST['radiog_dark'])){
// do something
}
此外,您不能为两个复选框设置相同的名称,因为您只能获得一个,其他2个将超过一个
答案 1 :(得分:0)
使用Array
语法以这种方式设置复选框字段并使用isset
检查复选框值,您可以像这样设置数组索引以获得更高的可读性,例如
name="radiog_dark['package_a']"
name="radiog_dark['package_b']"
<input type="checkbox" name="radiog_dark[]" value="150.00" id="tcbx3" class="css-checkbox"/>
if(isset($_POST['radiog_dark'])){
// do other stuffs
}
答案 2 :(得分:0)
change chekbox name radiog_dark to radiog_dark[]
Package A<input type="checkbox" name="radiog_dark[]" value="150.00" id="tcbx3" class="css-checkbox"/>
if(!empty($_POST['radiog_dark'])){
// Loop to store display values of individual checked checkbox.
foreach($_POST['radiog_dark'] as $selected){
echo $selected."</br>";
}