Ответ об успешной отправки формы обратной связи

У меня пишет что архив кривой
 
список файлов в архиве виден, но они не извлекаются (ошибка)
 
Автор, отпиши подробнее логику, которой ты хочешь добиться, желательно с примерами вывода ajax респонза
 
  1. Посмотрите Для просмотра ссылки Войди или Зарегистрируйся чтобы понять как сабмитить форму с файлом через ajax
  2. Не забывайте создавать логику передачи статусов. Что я имею в виду? У вас php файл отправки письма, вызываемый аджаксом, не возвращает внятного ответа. Попробуйте что-то типа такого:
PHP:
$result = mail (...);
echo json_encode(array("is_sent" => $result));
И никакого html после этого, естественно. Тогда сможете ловить этот статус в js коде следующим образом:
Код:
    $.ajax({
        url: window.location.pathname,
        type: 'POST',
        data: formData,
        async: false,
        success: function (data) {
            if (data.is_sent) {
                   // вывести сообщение об отправке
            }
        },
        cache: false,
        contentType: false,
        processData: false
    });

PS имхо код JS скриптов в первом посте вообще некорректный, т.к. логика его автора извращенная. Почему? Посмотрите Для просмотра ссылки Войди или Зарегистрируйся Он вызывается по завершению ajax-запроса. В любом случае, был ли этот запрос успешным или нет. Это раз. Второе - даже успешный ajax не означает, что письмо было отправлено. По той простой причине, что ajax будет неуспешным если, например, указанная страница возвращает 500 ошибку. А если скрипт отработал и вернул ответ с 200 кодом, то успех. И какая кому разница, успешно или нет отработала в том скрипте функция mail()
 
Последнее редактирование:
Посмотрел ваш код - написан очень грязно и логика неверная, надо его переписывать в один и с нуля.
А вообще зачем так усложнять? Возьмите на вооружение готовую систему и будем вам счастье Для просмотра ссылки Войди или Зарегистрируйся

По поводу отладки на будущее, как сказали выше, делаете в js коде строку вида console.log(имяпеременной); потом в хроме ctrl+shift+i -> Console.
 
Все правильно потому что ты в JS коде установил событие на отправку формы по id - buklet-1. Возьми для примера Firefox там правой кнопкой на экране -> "Посмотреть код", после вкладка Network -> XHR. После этого нажми чтобы у тебя отработал ajax запрос. Появиться новая запись на нее нажми и проверь Request URL, Request Method, Status Code и Query String Parameters
 
просто если всё заполнено выводи шаблон и что всё заполнено и отправлено через пхп
 
Назад
Сверху