【发布时间】:2016-11-20 06:54:09
【问题描述】:
我正在创建一个报价生成器联系人类型的表单,用户可以在其中选择他们的功能,并在底部输入他们的姓名、电子邮件和一条小消息。我正在使用简单联系表格的基础并使用 PHPMailer 发送表格。在继续整个项目之前,我创建了一个小测试页面,看看是否可以得到我正在寻找的结果。
我们将复选框输入的“值”设置为数字,以便报价生成器可以为所有内容定价,因此希望有一种简单的方法可以通过电子邮件发送特定复选框是否已被选中有名字
这是 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div class="contact">
<?php if(!empty($errors)): ?>
<div class="panel">
<ul><li><?php echo implode('</li><li>', $errors); ?></li></ul>
</div>
<?php endif; ?>
<form action="contact.php" method="post">
<label>
Your Name *
<input type="text" name="name" autocomplete="off"<?php echo isset($fields['name']) ? 'value="' . e($fields['name']) . '"' : '' ?>>
</label>
<label>
Your email address *
<input type="text" name="email" autocomplete="off"<?php echo isset($fields['email']) ? 'value="' . e($fields['email']) . '"' : '' ?>>
</label>
<label>
Example feature
<input type="checkbox" name="feature" class="option" value="25">
</label>
<label>
Your message *
<textarea name="message" row="8"<?php echo isset($fields['message']) ? e($fields['message']) : '' ?>></textarea>
</label>
<input type="submit" value="Send">
<p class="muted">* means a required field</p>
</form>
</div>
</body>
</html>
<?php
unset($_SESSION['errors']);
unset($_SESSION['fields']);
?>
这是 PHP 的一部分: 注意它提到 $m->Body 这是我需要回显复选框值的地方。
$m = new PHPMailer;
$m->isSMTP();
$m->SMTPAuth = true;
$m->Host = 'hosthere';
$m->Username = 'example@example.com';
$m->Password = 'password';
$m->SMTPSecure = 'ssl';
$m->Port = 465;
$m->isHTML();
$m->Subject = 'Contact form submitted';
$m->Body = 'From: ' . $fields['name'] . ' (' . $fields['email'] . ')<p>' . $fields['message'] . '</p> ' . $fields['feature'];
$m->FromName = 'Contact';
$m->AddAddress('example@example.com', 'User Name');
if($m->send()) {
header('Location: thanks.php');
die();
} else {
$errors[] = "Sorry, could not send email. Try again later.";
}
【问题讨论】:
-
这是您发送电子邮件
contact.php的 php 文件吗? -
我认为应该是 $_POST['name'] 而不是 $fields['name']。对吗?
-
是的,它从 index.php 发送到 contact.php。
-
@QuỳnhNguyễn 它正在使用 $fields = [ 'name' => $_POST['name'], 'email' => $_POST['email'], 'message' => $_POST[ '消息'] ];
-
我只是没有在上面的代码 sn-p 中包含那部分
标签: php jquery html email checkbox