我正在为一个客户在网站上工作,他当然需要一个有效的联系表。我的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()函数是否太旧/不安全?