我有一个基本的 PHP 联系表格,并有process.php
一个检查表格内容的文件。我的表单工作正常,但我想在不完全刷新页面的情况下填充我的returnstatus
div的内容。$errors
我确定这是一项简单的任务,但我不知道如何去做。这是我的代码:
联系表
<?php session_start(); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles2.css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="contact-form" class="clearfix">
<h1>Get In Touch!</h1>
<img id="stamp" src="images/stamp.png" height="128" width="128" alt="Stamp"/>
<h2>
Please provide as much information as possible for me to help you with your enquiry
</h2>
<div id="returnstatus">
</div>
<form method="post" action="process2.php">
<label for="name">Name: <span class="required">*</span></label>
<input type="text" id="name" name="name" placeholder="Joe Bloggs" required="required" />
<label for="email">Email Address: <span class="required">*</span></label>
<input type="email" id="email" name="email" placeholder="joebloggs@example.com" required="required" />
<label for="message">Message: <span class="required">*</span></label>
<textarea id="message" name="message" placeholder="Your message must be greater than 20 characters" required="required" data-minlength="20"></textarea>
<input type="text" name="check" class="check" />
<span id="loading"></span>
<input type="submit" value="Send!" id="submit-button" />
<p id="req-field-desc"><span class="required">*</span> indicates a required field</p>
</form>
</div>
</body>
<html>
进程2.php
<?php
$name = check_input($_POST['name']);
$email = check_input($_POST['email']);
$message = check_input($_POST['message']);
$errors = "";
if (empty($name)){
$errors .= "Please fill out the first name field <br/> ";
}
if (empty($email)){
$errors .= "Please fill out the email field <br/> ";
} else {
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email)) {
$errors .= 'The email address you entered does not appear to be valid<br />';
}
}
if (strlen($message) < 21){
$errors .= "Your message must be at least 20 characters";
}
if ($errors != "") {
echo "<b>Message not sent</b><br/>";
echo $errors;
} else {
$errors = "<p>Thank you, $name, for your message.</p><p>I'll get back to you as soon as possible!</p>";
echo $errors;
//send email if all is ok
if ($_POST['check'] == '') { //check to see if the hidden input entry is empty
$headers = "From: {$email}" . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$emailbody = "<p>You have recieved a new message from the enquiries form on your website.</p>
<p><strong>Name: </strong> {$name} </p>
<p><strong>Email Address: </strong> {$email} </p>
<p><strong>Message: </strong> {$message} </p>";
mail("xxxxx@gmail.com","New Enquiry",$emailbody,$headers);
}
}
function check_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>