XAMPP на windows 10 не работает php - PullRequest
0 голосов
/ 15 января 2020

Структура проекта следующая:

C:\xampp\htdocs\myProject\Documentation
C:\xampp\htdocs\myProject\HTML\css
C:\xampp\htdocs\myProject\HTML\images
C:\xampp\htdocs\myProject\HTML\js
C:\xampp\htdocs\myProject\HTML\videos
C:\xampp\htdocs\myProject\HTML\404.html
C:\xampp\htdocs\myProject\HTML\contact.php
C:\xampp\htdocs\myProject\HTML\index.html
C:\xampp\htdocs\myProject\PSD 

У меня есть контактная форма в индексе. html, которая управляется файлом javascript. Этот код останавливает отправку формы по умолчанию, выполняет проверку ошибок и затем использует ajax, чтобы отправить запрос на контакт для контакта. Код javascript выполняется, он обнаруживает php (см. Предупреждение в приведенном ниже коде сразу после вызова функции axjax. Значение d - это сценарий php в предупреждении, но ни одна из строк отладки в php код вызывается, и он никогда не возвращает «успех».

Вот форма

    <form class="form-horizontal" id="phpcontactform">
      <div class="control-group">
        <input class="input-block-level" type="text" placeholder="Full Name" name="name" id="name">
      </div>
      <div class="control-group">
        <input class="input-block-level" type="email" placeholder="Email ID" name="email" id="email">
      </div>
      <div class="control-group">
        <input class="input-block-level" type="text" placeholder="Mobile Number" name="mobile" id="mobile">
      </div>
      <div class="control-group">
        <textarea class="input-block-level" rows="10" name="message" placeholder="Your Message" id="message"></textarea>
      </div>
      <div class="control-group">
        <p>
          <input class="btn btn-danger btn-large" type="submit" value="Send Message">
        </p>
        <span class="loading"></span> </div>
    </form>

здесь javascript

// JavaScript Document
$(document).ready(function() {
    $("#phpcontactform").submit(function(e) {
        e.preventDefault();
        var name = $("#name");
        var email = $("#email");
        var mobile = $("#mobile");
        var msg = $("#message");
        var flag = false;
        if (name.val() == "") {
            name.closest(".control-group").addClass("error");
            name.focus();
            flag = false;
            return false;
        } else {
            name.closest(".control-group").removeClass("error").addClass("success");
        } if (email.val() == "") {
            email.closest(".control-group").addClass("error");
            email.focus();
            flag = false;
            return false;
        } else {
            email.closest(".control-group").removeClass("error").addClass("success");
        } if (msg.val() == "") {
            msg.closest(".control-group").addClass("error");
            msg.focus();
            flag = false;
            return false;
        } else {
            msg.closest(".control-group").removeClass("error").addClass("success");
            flag = true;
        }
        var dataString = "name=" + name.val() + "&email=" + email.val() + "&mobile=" + mobile.val() + "&msg=" + msg.val();
        $(".loading").fadeIn("slow").html("Loading...");
        $.ajax({
            type: "POST",
            data: dataString,
            url: "http://localhost/myProject/HTML/contact.php",
            cache: false,
            success: function (d) {
                alert("d: "+d);
                $(".control-group").removeClass("success");
                if(d == 'success') // Message Sent? Show the 'Thank You' message and hide the form
                    $('.loading').fadeIn('slow').html('<font color="green">Mail sent Successfully.</font>').delay(3000).fadeOut('slow');
                else
                    $('.loading').fadeIn('slow').html('<font color="red">Mail not sent.</font>').delay(3000).fadeOut('slow');
            }
        });
        return false;
    });
    $("#reset").click(function () {
        $(".control-group").removeClass("success").removeClass("error");
    });
})

И, наконец, Вот php

<?php
echo "<script>console.log('Debug Objects:' );</script>";

$name  = $_REQUEST["name"];
$email = $_REQUEST["email"];
$mobile   = $_REQUEST["mobile"];
$msg   = $_REQUEST["msg"];

echo "<script>";
echo "alert('this also works');";
echo "</script>";

$to    = "myemail@gmail.com";
if (isset($email) && isset($name) && isset($msg)) {
    $subject = $name."sent you a message via Raaga";
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
    $headers .= "From: ".$name." <".$email.">\r\n"."Reply-To: ".$email."\r\n" ;
    $msg   = "From: ".$name."<br/> Email: ".$email ."<br/> Mobile: ".$mobile." <br/>Message: ".$msg;

    echo "<script>alert('this maybe works');</script>";

   $mail =  mail($to, $subject, $msg, $headers);
  if($mail)
    {
        echo 'success';
    }

else
    {
        echo "<script>alert('name:'+$name);</script>";
        echo 'failed';
    }
}

echo "<script>alert('this finally works');</script>";

?>

Я пытался переместить контакт. php на htdocs root, но это не сработало. Выключили все антивирус и брандмауэры, но это тоже не сработало. Потеря. Мысль php должна была работать из коробки с xampp?

1 Ответ

0 голосов
/ 15 января 2020

Хорошо, так что спасибо ADyson за помощь. Проблема была не в том, что php не работает, а в том, что почтовый сервер не был правильно настроен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...