我创建了一个通过电子邮件提交详细信息的表单,但由于某种原因复选框结果没有显示,任何人都可以看到为什么吗?
<tr>
<td valign="top"><p>Contact Method:</p></td>
<td> </td>
<td align="left" valign="top"><p>
<input style="width:20px!IMPORTANT;" type="checkbox" name="CheckboxGroup1[]" value="Phone" id="phone" />
<label style="margin-right: 25px;">Phone</label>
</p>
<p>
<input style="width:20px!IMPORTANT;" type="checkbox" name="CheckboxGroup1[]" value="Email" id="email" />
<label style="margin-right: 25px;">Email</label>
</p>
<p>
<input style="width:20px!IMPORTANT;" type="checkbox" name="CheckboxGroup1[]" value="Post" id="post" />
<label style="margin-right: 25px;">Post</label>
</p></td>
</tr>
然后我用它来提交:
<? if(isset($_POST['submit'])) {
$to = "rob@domain.com";
$header = 'From: info@domain.com';
$subject = "Website enquiry";
$companyname_field = $_POST['companyname'];
$fullname_field = $_POST['fullname'];
$email_field = $_POST['email'];
$tel_field = $_POST['tel'];
$address_field = $_POST['address'];
$specify_field = $_POST['specify'];
$CheckboxGroup1 = $_POST['CheckboxGroup1'];
$CheckboxGroup2 = $_POST['CheckboxGroup2'];
if( is_array($_SESSION['CheckboxGroup1']) ){
foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",'n";
}
}
if( is_array($_SESSION['CheckboxGroup2']) ){
foreach ($_SESSION['CheckboxGroup2'] as $val) {
$checkbox2results .= $val.",'n";
}
}
$body = "Hello,'n'n You have an enquiry from the website, please see the details below:'n'n Name: $fullname_field'n Company Name: $companyname_field'n E-Mail: $email_field'n Tel: $tel_field'n Method of contact: $checkbox1results'n Address: $address_field'n Hear about us?: $checkbox2results'n Specify: $specify_field'n'n Please reply to the enquiry asap.'n'n Kind Regards 'n";
mail($to, $subject, $body, $header);
echo "</br><p style='"color:#e41770!IMPORTANT;'">Thank you for getting in touch, we will contact you shortly.</p>";
} ?>
在哪里
声明$_SESSION['CheckboxGroup1']
?看到你的代码,这应该是$_POST['CheckboxGroup1']
您从 $_POST
中获取值,但您在 $_SESSION
中检查该值。
改用该代码
if( is_array($CheckboxGroup1) ){
foreach ($CheckboxGroup1 as $val) {
$checkbox1results .= $val.",'n";
}
}
if( is_array($CheckboxGroup2) ){
foreach ($CheckboxGroup2 as $val) {
$checkbox2results .= $val.",'n";
}