@makbori

Форма работает но не выводит сообщение?

Форма отправки обратной связи, после отправки сообщение приходит, но в окне пишет Not Fond

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['name'])) {$name = $_POST['name'];}
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];}

    $to = "reanaliz@yandex.ru"; /*Укажите адрес, га который должно приходить письмо*/
    $sendfrom   = "site@yandex.ru"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
    $subject = "$formData";
    $message = "$formData<br> <b>Имя пославшего:</b> $name <br><b>Телефон:</b> $phone";
    $send = mail ($to, $subject, $message, $headers);
    if ($send == 'true')
    {
    echo '<center><p class="success">Спасибо за отправку вашего сообщения!</p></center>';
    }
    else 
    {
    echo '<center><p class="fail"><b>Ошибка. Сообщение не отправлено!</b></p></center>';
    }
} else {
    http_response_code(403);
    echo "Попробуйте еще раз";
}
?>


Помогите пожалуйста
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 3
Не совсем понятно про какое окно идет речь, запрос отправляется через ajax?
Осмеюсь предположить сообщение "Попробовать ещё раз" отправить не POST запрос ни к чему не приведет, возможно уместнее будет сообщение что используется не коректный метод?
Ответ написан
@makbori Автор вопроса
$(document).ready(function () {
    $("form").submit(function () {
        // Получение ID формы
        var formID = $(this).attr('id');
        // Добавление решётки к имени ID
        var formNm = $('#' + formID);
        $.ajax({
            type: "POST",
            url: 'mail.php',
            data: formNm.serialize(),
            success: function (data) {
                // Вывод текста результата отправки
                $(formNm).html(data); 
            },
            error: function (jqXHR, text, error) {
                // Вывод текста ошибки отправки
                $(formNm).html(error);         
            }
        });
        return false;
    });
});

вот что в js
Ответ написан
ssenj
@ssenj
HTML, CSS, PHP, WordPress, Bitrix
...
if ($send == 'true')
...

Почему вы сравниваете со строкой "true", когда функция возвращает булево значение true?
И зачем это, если вросто хотите вывести сообщение в попапе?
http_response_code(403);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы