форма contactus отправить электронное письмо не отправляется

#javascript #php #ajax

#javascript #php #ajax

Вопрос:

Я использую шаблон веб-сайта, который практически завершен, но форма отправки не работает. Пожалуйста, кто-нибудь может мне помочь?

Вот мой базовый html:

 <form action="#" class="form-contact" id="contactForm">
  <div class="row">
    <div class="col-sm-6 col-md-6">
      <div class="form-group">
        <input type="text" class="form-control" id="p_name" placeholder="* Nome" required="">
        <div class="help-block with-errors"></div>
      </div>
    </div>
    <div class="col-sm-6 col-md-6">
      <div class="form-group">
        <input type="email" class="form-control" id="p_email" placeholder="* Email" required="">
        <div class="help-block with-errors"></div>
      </div>
    </div>
    <div class="col-sm-6 col-md-6">
      <div class="form-group">
        <input type="text" class="form-control" id="p_phone" placeholder="* Telefone">
        <div class="help-block with-errors"></div>
      </div>
    </div>
    <div class="col-sm-6 col-md-6">
      <div class="form-group">
        <input type="text" class="form-control" id="p_subject" placeholder="* Assunto">
        <div class="help-block with-errors"></div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <textarea id="p_message" class="form-control" rows="6" placeholder="* Mensagem"></textarea>
    <div class="help-block with-errors"></div>
  </div>
  <div class="form-group">
    <div id="success"></div>
    <button type="submit" class="btn btn-primary">ENVIAR</button>
  </div>
</form>
  

вот мой form-process.php:

 <?php

$errorMSG = "";

// NAME
if (empty($_POST["name"])) {
    $errorMSG = "Name is required ";
} else {
    $name = $_POST["name"];
}

// EMAIL
if (empty($_POST["email"])) {
    $errorMSG .= "Email is required ";
} else {
    $email = $_POST["email"];
}

// SUBJECT
if (empty($_POST["subject"])) {
    $errorMSG .= "Subject is required ";
} else {
    $subject = $_POST["subject"];
}

// MESSAGE
if (empty($_POST["message"])) {
    $errorMSG .= "Message is required ";
} else {
    $message = $_POST["message"];
}


$EmailTo = "myemail@outlook.com";
$Subject = $subject;

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From:".$email);

// redirect to success page
if ($success amp;amp; $errorMSG == ""){
   echo "success";
}else{
    if($errorMSG == ""){
        echo "Something went wrong :(";
    } else {
        echo $errorMSG;
    }
}

?>
  

Вот мой ajax / javascript для отправки электронного письма:

 $("#contactForm").validator().on("submit", function (event) {
    if (event.isDefaultPrevented()) {
        // handle the invalid form...
        formError();
        submitMSG(false, "Did you fill in the form properly?");
    } else {
        // everything looks good!
        event.preventDefault();
        submitForm();
    }
});


function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#p_name").val();
    var email = $("#p_email").val();
    var subject = $("#p_subject").val();
    var message = $("#p_message").val();

    $.ajax({
        type: "POST",
        url: "php/form-process.php",
        data: "name="   name   "amp;email="   email   "amp;subject="   subject   "amp;message="   message,
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else {
                formError();
                submitMSG(false,text);
            }
        }
    });
}

function formSuccess(){
    $("#contactForm")[0].reset();
    submitMSG(true, "Message Submitted!")
}

function formError(){
    $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
        $(this).removeClass();
    });
}

function submitMSG(valid, msg){
    if(valid){
        var msgClasses = "h3 text-center tada animated text-success";
    } else {
        var msgClasses = "h3 text-center text-danger";
    }
    $("#success").removeClass().addClass(msgClasses).text(msg);
}
  

Я никогда не мог отправить форму, я всегда получаю сообщение об ошибке «Вы правильно заполнили форму?»

Комментарии:

1. какую библиотеку вы используете?

2. @DipenShah вы поговорить об этом? <!— SENDMAIL —> <script src=»js/vendor/validator.min.js»></script> <script src=»js/vendor/form-scripts.js»></script> <script src=»js/script.js»></script>

3. Да, скорее всего, это проблема с вашим сценарием проверки. Вы отлаживали?

4. @DipenShah Я не знаю, будет ли это, у меня это было весь день, и я не могу найти решение. Если вы можете мне помочь, я был бы вечно благодарен. вот полная ссылка моего веб-сайта на скрипт reidemoure.com/l/js/vendor/validator.min.js

5. @DipenShah друг, я нахожу проблему. Я думаю, что мой хост omg не читает правильный файл php. я просто пробую на другом хосте и работаю идеально. Код в порядке.