Answer the question
In order to leave comments, you need to log in
Why does the code fall out after submit?
Testing on XAMPP. After clicking on the sumbit
bottom below the form, the code falls out. JSFiddle . Why does it fall out and how to remove it?
It looks like this:
or like this:
PHP piece:
<?php
// Only process POST reqeusts.
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Get the form fields and remove whitespace.
$name = strip_tags(trim($_POST["name"]));
$name = str_replace(array("\r","\n"),array(" "," "),$name);
$email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
$message = trim($_POST["message"]);
// Check that data was sent to the mailer.
if ( empty($name) OR empty($message) OR !filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Set a 400 (bad request) response code and exit.
http_response_code(400);
echo "Oops! There was a problem with your submission. Please complete the form and try again.";
exit;
}
// Set the recipient email address.
$recipient = "[email protected]";
// Set the email subject.
$subject = "New contact from $name";
// Build the email content.
$email_content = "Name: $name\n";
$email_content .= "Email: $email\n\n";
$email_content .= "Message:\n$message\n";
// Build the email headers.
$email_headers = "From: $name <$email>";
// Send the email.
if (mail($recipient, $subject, $email_content, $email_headers)) {
// Set a 200 (okay) response code.
http_response_code(200);
echo "Thank You! Your message has been sent.";
} else {
// Set a 500 (internal server error) response code.
http_response_code(500);
echo "Oops! Something went wrong and we couldn't send your message.";
}
} else {
// Not a POST request, set a 403 (forbidden) response code.
http_response_code(403);
echo "There was a problem with your submission, please try again.";
}
?>
Answer the question
In order to leave comments, you need to log in
The problem is here:
if (data.responseText !== '') {
$(formMessages).text(data.responseText);
} else {
$(formMessages).text('Упс! Что-то пошло не так, и Ваше сообщение не отправилось.');
}
Your Ajax function inserts the received response into the block here approximately:
Why doesn’t it insert what you are trying to issue with echo - You need to figure it out already ... on the screen you generally have a 404 error, that is, the request is sent to the wrong place you want, or the server is configured incorrectly.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question