我有一个包含多个复选框的联系表单。我已将 [] 添加到名称中,但不确定在 PHP 中要做什么。如果没有 [],我只能在发送的电子邮件中显示第一个复选框项目。添加[]后,我什么也没得到。(注:我曾尝试在 StackOverflow 中使用类似的问题,但它们对我的困境不起作用。)这是我的代码(我已截断 HTML 以仅显示复选框区域):<div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox5" value="Advertisement"> <label for="findout[]" class="form-check-label">Advertisement</label></div><div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox6" value="Yard Sign"> <label for="findout[]" class="form-check-label">Yard Sign</label></div><div class="form-check"> <input type="checkbox" class="form-check-input" name="findout[]" id="checkbox7" value="Search Engine"> <label for="findout[]" class="form-check-label">Search Engine</label></div><?php $name = $_POST['name']; $email = $_POST['email']; $findout = $_POST['findout']; $method = $_POST['method']; $message = $_POST['message']; $subject = $_POST['subject']; header('Content-Type: application/json'); if ($name === ''){ print json_encode(array('message' => 'Name cannot be empty', 'code' => 0)); exit(); } if ($email === ''){ print json_encode(array('message' => 'Email cannot be empty', 'code' => 0)); exit(); } else { if (!filter_var($email, FILTER_VALIDATE_EMAIL)){ print json_encode(array('message' => 'Email format invalid.', 'code' => 0)); exit(); } } if ($subject === ''){ print json_encode(array('message' => 'Subject cannot be empty', 'code' => 0)); exit(); } if ($message === ''){ print json_encode(array('message' => 'Message cannot be empty', 'code' => 0)); exit(); }
2 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
那么人们可以选择多个复选框,而您想正确阅读它们吗?您可以使用下面的代码
<?php
if(isset($_POST['findout'])){ // Check if findout had been posted
foreach($_POST['findout'] as $checked){ // loop trough selected checkboxes
echo $checked."</br>"; // Display selected checkboxes
}
}
?>
守候你守候我
TA贡献1802条经验 获得超10个赞
将括号添加到字段名称使其成为数组,因此您应该像数组一样访问它
$findout = implode(", ",$_POST['findout']); echo $findout; // should output: Advertisement, Yard Sign, or whatever they select
另外,标签的for属性应该指向字段的 id,而不是字段的名称
<label for="checkbox7" class="form-check-label">Search Engine</label>
- 2 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消