PHP 无法将复选框变量信息添加到电子邮件正文


PHP unable to add checkbox variable information to body of email

我正在尝试为网站创建一个简单的服务申请表。目的是让用户填写表单,按提交按钮,然后生成发送给支持人员的电子邮件。

大多数表单都可以正常工作,但我无法将复选框的值传递到电子邮件正文中。 当我添加调试信息(使用 echo)时,我可以看到复选框变量已设置,但信息没有传递给电子邮件——

收到的信息 - 选中复选框:修复断开的链接,网页上的信息需要更新,需要将信息添加到网页

PHP代码--

<?php
if (isset($_POST['email']))  {
$admin_email = "admin@somedomain.com";
$email = $_POST['email'];
$subject = $_POST['subject'];
$selectedChecklist = 'None';
$body = "Information received--'n'n"; 
$comments = $_POST['comments'];
if(isset($_POST['check_list']) && is_array($_POST['check_list']) && count  ($_POST['check_list']) > 0){
$selectedChecklist = implode(', ', $_POST['check_list']);
$body .= 'Checkboxes checked: ' . $selectedChecklist;
echo($body);
}   

mail($admin_email, "$subject", $checklist, $body, $comments, "From:" . $email);

echo " Thank you for contacting us!";
}

else  {
?>
// HTML form goes here
<?php
}
?>

表单的 HTML 代码--

<form method="post">
Your Email: <input name="email" type="text" /><br /> 
<br />
Subject  :    <input name="subject" type="text" /><br /> 
<br /> 
What needs to be done?<br />
<input  name="check_list[]" type="checkbox" value="Fix a broken link">Fix a broken link<br /><br />
<input  name="check_list[]" type="checkbox" value="Information on a web page needs to be updated">Information on a web page needs to be updated<br /><br />
<input  name="check_list[]" type="checkbox" value="Information needs to be added to a web page">Information needs to be added to a web page<br /><br />
Description:<br />
<textarea name="comments" rows="15" cols="40"></textarea><br /> 
<br />
<input type="submit" value="Submit" /> 

你不正确地使用函数邮件

函数只接受四个参数,您应该对消息正文使用第三个参数。

在您的示例中,您可以修改为下一步

$body .=  $comments;
mail($admin_email, $subject, $body, "From:" . $email);

PS:变量$checklist在您的代码中未定义。