0

我创建了一个通过电子邮件提交详细信息的表单,但由于某种原因,复选框结果没有显示,任何人都可以看到为什么吗?

<tr>
  <td valign="top"><p>Contact Method:</p></td>
  <td>&nbsp;</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>";

} ?>
4

3 回答 3

2

在哪里$_SESSION['CheckboxGroup1']声明?看到你的代码这应该是$_POST['CheckboxGroup1']

于 2012-08-14T10:19:31.773 回答
1

您从 中获取值$_POST,但您检查 中的值$_SESSION

于 2012-08-14T10:20:45.307 回答
0

改用该代码

if( is_array($CheckboxGroup1) ){
foreach ($CheckboxGroup1 as $val) {
    $checkbox1results .= $val.",\n";
 }
}
if( is_array($CheckboxGroup2) ){
   foreach ($CheckboxGroup2 as $val) {
    $checkbox2results .= $val.",\n";
}
于 2012-08-14T10:23:16.240 回答