A
A
Artyom2015-10-27 16:31:51
css
Artyom, 2015-10-27 16:31:51

Why does the code fall out after submit?

Testing on XAMPP. After clicking on the sumbitbottom below the form, the code falls out. JSFiddle . Why does it fall out and how to remove it?
It looks like this:
0CCVmAA.png
or like this:
ZJgvf59.png
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

2 answer(s)
D
Dmitry Skorik, 2015-10-27
@SlampD

The problem is here:

if (data.responseText !== '') {
        $(formMessages).text(data.responseText);
      } else {
        $(formMessages).text('Упс! Что-то пошло не так, и Ваше сообщение не отправилось.');
      }

Comment out - $(formMessages).text(data.responseText);
Check what comes in data.responseText if you want to output a different text.

D
Dmitry Evgrafovich, 2015-10-27
@Tantacula

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 question

Ask a Question

731 491 924 answers to any question