php - PHPMailer 中的多个复选框值显示为空
问题描述
我已设置 PHP 邮件程序以在我的网站上提供联系表格信息。我在整理多个复选框输入时遇到问题。它在电子邮件中显示为空。这里的表单 HTML 代码:
<div class="form-group">
<label class="checkbox-inline">
<input name="time" type="checkbox" id="inlineCheckbox1" value="AM"> AM
</label>
<label class="checkbox-inline">
<input name="time" type="checkbox" id="inlineCheckbox2" value="PM"> PM
</label>
</div>
在我的 PHP 代码中,我在下面添加了检查复选框是否有输入:
if($_POST["time"]) {
$time_array = $_POST['time'];
$time_tostring = implode(", ", $time_array);
}
然后在邮件代码中,我添加了这个:
$mail = new PHPMailer(true);
try {
//Server settings
$mail->isSMTP();
$mail->Host = $config['host'];
$mail->SMTPAuth = true;
$mail->Username = $config['username'];
$mail->Password = $config['password'];
$mail->SMTPSecure = $config['secure'];
$mail->Port = $config['port'];
//Recipients
$mail->setFrom($config['from'], $config['fromName']);
$mail->addAddress($config['sendTo']);
//$mail->addCC($config['sendToCC']);
$mail->addBCC($config['sendToBCC']);
//Content
$mail->isHTML(true);
$mail->Subject = 'Website Contact Form';
$mail->Body = '<p>Emptied on: ' . $_POST['day'] . "</p>"
. "<p>Time: " . $time_tostring . "</p>"
. "<p>Name: " . $_POST['name'] . "</p>"
. "<p>Address: " . $_POST['address'] . "</p>"
. "<p>Phone Number: " . $_POST['number'] . "</p>"
. "<p>Email: " . $_POST['email'] . "</p>"
. "<p>Where did you hear about us: " . $_POST['how'] . "</p>"
. "<p>Service interested in: " . $_POST['comments'] . "</p>"
;
$mail->send();
echo json_encode(['status' => true, "data" => 'Message has been sent']);
} catch (Exception $e) {
echo json_encode(['status' => false, "data" => "Message could not be sent\nMailer Error: " . $mail->ErrorInfo]);
}
在发送的邮件中,时间为空,不显示任何值。
我也直接尝试了下面的行,但也没有用。
. "<p>Time: " . implode(', ', $_POST['time']) . "</p>"
我不确定为什么这不起作用。任何想法都值得赞赏。
解决方案
尝试将“时间”输入字段设为数组。
<input name="time[]" ... >
推荐阅读
- javascript - 如何使这个 d3-map 响应?
- javascript - 使用 TypeScript 的对象属性的动态返回类型
- google-apps-script - 如何使用 Google Apps 脚本重新格式化二维数组中的日期?
- .net - 使用 System.Text.Json.Serialization.JsonConverter 解决 JSON 序列化过程中复杂类型的循环引用
- flutter - 如何使用 ExpansionPanel 从特定索引或行展开/折叠 Fluter listview 和 gridview?
- jenkins - Specflow Specrunner 在构建后不会在 Jenkins 中开始测试
- spring-boot - 在 spring 的 application.yml 中使用 cloud Foundry vcap env 变量
- java - Spring application/x-www-form-urlencoded 防止字符串编码
- java - android studio(java)中图像上的可点击区域
- python - 我们可以在本地或 python 程序中的任何地方使用 azure 数据资源管理器功能(例如 series_decompose() )吗