我一直在用 JavaScript、PHP 和 HTML 编写表单。我似乎遇到了问题,我觉得它是一个小问题。我已经努力工作了几个小时,问题仍然存在。
我想要工作的表格位于: http ://www.cyberbytesdesign.com/s/ama/contact.php
这是正在使用的 JavaScript:
$(function() {
// Setup any needed variables.
var $form = $('#contact-form'),
$loader = '<img src="img/loader.gif" height="20" width="20" alt="Loading..." />';
$form.append('<div id="response" class="hidden">');
var $response = $('#response');
// Do what we need to when form is submitted.
$form.on('click', 'input[type=submit]', function(e){
// Hide any previous response text and show loader
$response.hide().html( $loader ).show();
// Make AJAX request
$.post('resources/script/contact-send.php', $form.serialize(), function( data ) {
// Show response message
$response.html( data );
// Scroll to bottom of the form to show respond message
var bottomPosition = $form.offset().top + $form.outerHeight() - $(window).height();
if( $(document).scrollTop() < bottomPosition )
$('html, body').animate({ scrollTop : bottomPosition });
// If form has been sent succesfully, clear it
if( data.indexOf('success') !== -1 )
$form.find('input:not(input[type="submit"], input[type="reset"]), textarea, select').val('').attr( 'checked', false );
});
// Cancel default action
e.preventDefault();
});
});/*END FUNCTION*/
这是提交表单时使用的 PHP(这是用“else { die('Direct access to this page is not allowed.');”引发的错误)
// Get email address
$email_address = 'test@gmail.com';
// Ensures no one loads page and does simple spam check
if( isset($_POST['name']) && empty($_POST['spam-check']) ) {
// Declare our $errors variable we will be using later to store any errors
$error = '';
// Setup our basic variables
$input_name = strip_tags($_POST['name']);
$input_email = strip_tags($_POST['email']);
$input_subject = strip_tags($_POST['subject']);
$input_message = strip_tags($_POST['message']);
// We'll check and see if any of the required fields are empty
if( strlen($input_name) < 2 ) $error['name'] = '<label class="inline" for="contact-name">Please enter your <b>Name</b></label>.';
if( strlen($input_message) < 5 ) $error['message'] = '<label class="inline" for="contact-message">Please leave a <b>Message</b></label>.';
// Make sure the email is valid
if( !filter_var($input_email, FILTER_VALIDATE_EMAIL) ) $error['email'] = '<label class="inline" for="contact-email">Please enter a valid <b>Email Address</b></label>.';
// Set a subject & check if custom subject exist
$subject = "Customer: Contact Us";
if( $input_subject ) $message = "Subject: $input_subject\n";
$message .= "\nMessage: $input_message\n";
$message .= "\n---\nThis email was sent by $input_name from $input_email";
// Now check to see if there are any errors
if( !$error ) {
// No errors, send mail using conditional to ensure it was sent
if( mail($email_address, $subject, $message, "From: $input_email") ) {
echo '<p class="success"><b>EMAIL SENT SUCCESSFULLY.</b><br />' . "Dear $input_name, " . 'Thank You for contacting RAC-Engineering! Please allow us <b>24-48</b> hours to review your request and get back to you. If you need a response sooner, please contact us via telephone at (716) 695-2269.<br /><br /><b>Please verify that this is your correct Email Address:</b><br />' . "Email Address: <i>$input_email</i>" . '<br /><br /><span class="red"><b>PLEASE NOTE:</b></span><br /> If we do not respond to your request within a reasonable amount of time, please give us a call as there may have been an error on our end with your request.</p>';
} else {
echo '<p class="error">There was a problem sending your email! Please give us a call at (716) 695-2269 as there seems to be an error on our end with the form.</p>';
}
} else {
// Errors were found, output all errors to the user
$response = (isset($error['name'])) ? $error['name'] . "<br /> \n" : null;
$response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null;
$response .= (isset($error['message'])) ? $error['message'] . "<br /> \n" : null;
echo "<p class='error'>$response</p>";
}
} else {
die('Direct access to this page is not allowed.');
}
最后,这是表单的 HTML:
<div id="contact-form" class="row m-top-10">
<form action="resource/script/question-send.php" method="post">
<div class="column-4 required">
<label class="no-margin" for="request-name"><strong>Name</strong></label>
<input type="text" name="name" value="" id="request-name" placeholder="First / Last Name" required>
</div>
<div class="column-4 required">
<label for="request-email"><strong>Email Address</strong></label>
<input class="required" type="email" name="email" value="" id="request-email" placeholder="email@example.com" required>
</div>
<div class="column-4">
<label for="request-subject"><strong>Subject</strong></label>
<input type="text" name="subject" value="" id="request-subject" placeholder="e.g. Question">
</div>
<div class="row column-8 first-column m-top-30-desktop required">
<label for="request-message"><strong>Your Message</strong></label>
<textarea class="required" name="message" id="request-message" placeholder="Please include any additional information pertaining to your inquiry." required></textarea>
</div>
<div class="hidden">
<label for="request-spam-check">Do not fill out this field:</label>
<input name="spam-check" type="text" value="" id="request-spam-check" />
</div>
<div class="column-4 m-top-60 m-top-20-mobile">
<input class="large strong btn btn-blue" type="submit" value="Submit">
</div>
<div class="column-4 textcenter last">
<input class="large strong blue" type="reset" value="Reset">
</div>
</form>
<span class="row"></span>
</div>
非常感谢,我一直为此让自己发疯,这一定是一件非常微小的事情,一双新的眼睛可能能够捕捉到。