我正在努力在我的联系表单上添加安全性,而我似乎无法找到导致错误原因的原因。目前,当我测试php表单时,我收到此错误:解析错误:语法错误,第16行/home/content/86/5284386/html/websitenamewashere/contact.php中的意外T_IF
PHP:
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$to = "yahoo@gmail.com";
$subject = "Contact Form Submission";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['contact-name']) ||
!isset($_POST['contact-email']) ||
!isset($_POST['contact-phone']) ||
!isset($_POST['child_info'])) {
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
$contactname = $_POST["contact-name"]; //required
$contactemail = $_POST["contact-email"]; //required
$contactphone = $_POST["contact-phone"]; //required
$child_info = $_POST["child_info"]; //required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$contactemail)) {
$error_message .= 'The Email Address you entered does not appear to be valid.<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
$numb_exp = '/^[0-9.-]';
if(!preg_match($string_exp,$contactname)) {
$error_message .= 'The First Name you entered does not appear to be valid.<br />';
}
if(!preg_match($numb_exp,$contactphone)) {
$error_message .= 'The Phone Number you entered does not appear to be valid.<br />';
}
if(strlen(child_info) < 2) {
$error_message .= 'The Comments you entered do not appear to be valid.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($contactname)."\n";
$email_message .= "Email: ".clean_string($contactemail)."\n";
$email_message .= "Telephone: ".clean_string($contactphone)."\n";
$email_message .= "Child Information: ".clean_string($child_info)."\n";
// create email headers
$headers = 'From: '.$contactemail."\r\n".
'Reply-To: '.$contactemail."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
我的HTML:
<form action="contact.php" class="footer-form" method="post">
<p class="title">How can we be of service?</p>
<div class="form-group">
<strong>
<input type="text" class="form-control" name="contact-name" id="contact-name" placeholder="Name:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="email" class="form-control" name="contact-email"" id="contact-email" placeholder="E-mail:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="phone" class="form-control" name="contact-phone" id="contact-phone" placeholder="Phone:">
</strong>
</div>
<div class="form-group">
<strong>
<input type="text" class="form-control" name="child_info" id="child_info" placeholder="Tell us about your child:">
</strong>
</div>
<button type="submit" class="btn btn-default waves-effect waves-button waves-float waves-classic"><strong>Submit</strong></button>
答案 0 :(得分:1)
您错过了以下一行的结束语音报价:
$subject = "Contact Form Submission;
应该是:
$subject = "Contact Form Submission";
在你的HTML中你还有一个额外的语音引用(不是它会影响PHP错误)
name="contact-email""
答案 1 :(得分:0)
died('We are sorry, but there appears to be a problem with the form you submitted.');
}
应为die