Возникли проблемы с jQuery, AJAX и PHP (публикация) - PullRequest
0 голосов
/ 06 января 2012

Я использую JQuery и AJAX для публикации в файл PHP, который в конечном итоге проанализирует данные и вставит их в базу данных.

У меня проблема с отображением, пытаясь понять, что не так с моим JavaScript, что он не будет публиковать файл PHP.

Я знаю, что это не публикация, потому что я не получаю и не отправляю электронное письмо, которое является первой функцией в файле PHP.

JS

$(document).ready(function() {
    var ptitle = $("#name").val();
    var pdesc = $("#desc").val();
    var pemail = $("#email.").val();
    $('#submit').click(function() {
        sendValue(ptitle, pdesc, pemail);
    });
});

function sendValue(ptitle, pdesc, pemail) {
    $.post("<?=MOLLY.'update.php'?>", {
        stitle: ptitle,
        sdesc: pdesc,
        semail: pemail
    }, function(data) {
        //
    }, "json");
}

PHP

mail($myemail,'test','test');

if ($_POST){
$title = $_POST['stitle'];
$email = $_POST['semail'];  
mail($myemail,$email,$title);

}

Ответы [ 2 ]

1 голос
/ 06 января 2012

У вас есть опечатка:

$(document).ready(function() {
    var ptitle = $("#name").val();
    var pdesc = $("#desc").val();
    var pemail = $("#email.").val();  // <---- I assume you meant "#email".
    $('#submit').click(function() {
        sendValue(ptitle, pdesc, pemail);
    });
});
0 голосов
/ 06 января 2012

Начните с проверки того, что ваш PHP-файл работает, замените содержимое на что-то вроде:

PHP

echo "Im running";

Тогда в вашем JS сделайте:

$.post("<?=MOLLY.'update.php'?>", function(data) {
    console.log(data);
}, "json");

и посмотрите, будет ли сообщение возвращено и зарегистрировано в консоли. Если это так, проверьте ваш $ _POST, повторив отправленные вами значения, а также верните переменную вашей электронной почты, чтобы убедиться, что она выводит правильно.

Если все работает нормально, вам нужно проверить, правильно ли настроен ваш сервер, чтобы команда mail действительно могла отправлять электронную почту, поскольку проблема, скорее всего, на стороне сервера, когда все остальное устранено.

О, и вы должны сделать то, что говорит cillosis, использовать isset и проверить что-то в суперглобальном выражении $ _POST, а не просто if($_POST), но, поскольку вы выполняете функцию mail до этого в вашем PHP, это, вероятно, не ваша главная проблема .

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