php - 使用 Bootstrap 4 和 PHP 发送邮件
问题描述
我正在为一个客户开发一个网站,该客户当然需要一个有效的联系表格。我的 PHP 技能相当薄弱,所以与其让自己因大量示例而发疯,我想我会直接寻求帮助。
这是我使用 Bootstrap 4 框架构建的表单:
<form id="contactForm" method="post" action="contact-form.php" role="form">
<div class="messages"></div>
<div class="controls"></div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="clientName">Your Name *</label>
<input class="form-control" id="clientName" type="text" placeholder="Enter Your Name" required="required" data-error="Your name is required." />
<div class="help-block with-errors"></div>
</div>
<div class="form-group col-md-6">
<label for="petName">Your Pet's Name *</label>
<input class="form-control" id="petName" type="text" placeholder="Pet Name" required="required" data-error="Your pet's name is required." />
<div class="help-block with-errors"></div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="email">Email Address *</label>
<input class="form-control id="email" type="email" placeholder="you@abc.def" required="required" data-error="Your email address is required.">
<div class="help-block with-errors"></div>
</div>
<div class="form-group col-md-6">
<label for="phone">Telephone Number</label>
<input class="form-control" id="phone" type="text" placeholder="123-456-7890" />
</div>
</div>
<div class="form-group">
<label for="message">Message</label>
<textarea class="form-control id="message" placeholder="Include any message here." rows="4" />
</div>
<div class="form-row">
<div class="form-group col-md-6>
<input class="btn btn-success" type="submit" value="Send Message" >
</div>
</div>
</form>
还有似乎不起作用的PHP(重定向除外。效果很好):
<?php
// If the client name and email don't match
if($_POST['clientName'] != $_POST['email']){
$youremail = 'myemail@domain.com';
$body = "New Appointment Request
<hr>
From: $_POST[clientName]
Pet Name: $_POST[petName]
E-Mail: $_POST[email]
Phone: $_POST[phone]
Message: $_POST[message]";
if( $_POST['email'] && !preg_match( "/[\r\n]/", $_POST['email']) ) {
$headers = "From: $_POST[email]";
} else {
$headers = "From: $youremail";
}
mail($youremail, 'New Message', $body, $headers );
}
header('Location:contact-redir.html');
?>
我是否错过了完成这项工作的关键细节?或者对于现代邮件客户端来说,mail() 函数是否太旧/不安全?
解决方案
推荐阅读
- ldap - ldapsearch 和范围限制
- javascript - 在兄弟组件之间传递数据
- sql - 当 JOIN 是多列时处理从另一个表进行 UPDATEing
- javascript - 无法使用 ejs 在 Javascript 中获取 Node js 响应对象
- java - jmx-exporter 无法从 activemq 中抓取指标
- azure-data-factory - 具有参数化数据集和参数化链接服务的 Azure 数据流
- python - 在 3D plot python 中绘制平面上的 1D 高斯分布
- sql - 为什么我不能使用“$System.TMSCHEMA_TABLES”选择多个列?
- java - 用于简单状态转换的状态机方法
- javascript - 更换时如何保留大小写?