我正在尝试为网站创建一个简单的服务申请表。目的是让用户填写表单,按提交按钮,然后生成发送给支持人员的电子邮件。
大多数表单都可以正常工作,但我无法将复选框的值传递到电子邮件正文中。 当我添加调试信息(使用 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
在您的代码中未定义。