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

preview_player
Показать описание

––––––––––––––––––––––––––––––

📋 Кратко, о чем это видео

В этом заключительном видео мы сделаем отправку формы на почту. Важно, что отправляться данная форма будет без перезагрузки страницы (асинхронно). После отправки формы пользователь получит уведомление, что данные отправлены, либо сообщение со статусом ошибки.

Также в конце бонусом покажу, как сделать простую разметку для письма.

––––––––––––––––––––––––––––––

📌 Полезные ссылки

––––––––––––––––––––––––––––––

🕒 Таймкоды из видео

0:00 Демонстрация формы
1:11 Обзор стартового проекта
3:34 Загрузка и подключение PHPMailer
5:44 Настройка PHPMailer для отправки писем
10:12 Отправка письма без перезагрузки
22:28 Немного стилизуем письмо
27:37 Завершение

––––––––––––––––––––––––––––––

💙 Поддержать меня и мой канал

Рекомендации по теме
Комментарии
Автор

Всем привет! Спасибо автору за подробное объяснение и РАБОЧИЙ код в 2023. Переделал под свой и с первого раза все сработало без каких-либо ошибок. Локально конечно же это не проверить, а хорошо хостинг ничего не блокировал)

ivankovdmitrij
Автор

только после заливки на хостинг работает! Ура!!!

БехзодНабиев-пи
Автор

Спасибо большое, твое видео очень помогло)
да у меня были ошибки 500 и 404, но это из-за опечаток и других проблем которые я решала опираясь на комменты ниже, спасибо, помог разобраться)

horikeisukke_
Автор

Всем привет! Ребята, КОД РЕАЛЬНО РАБОЧИЙ, просто все нужно перепроверить на 1000 раз. Я уже неделю не могу отправить форму на почту.. Пересмотрел всё, что есть на ютубе, перечитал кучу форумов, а толку ноль.. Всегда была одна и та же ошибка с кодом: 500. Как оказалось, дело было в неправильно прописанном пути в файле php, вот в этих строчках:
require
где PHPMailer должно быть идентично названию папки в которой лежат файлы этой библиотеки. Теперь всё РАБОТАЕТ!!
Автор, спасибо тебе огромнейшее))) и дальнейших успехов!

lesneekv
Автор

Ребята, всем кто пишет про ошибку 500, объясняю как с ней справился я. В первую очередь смотрим логи на хостинге, в моем случае была ошибка "require_once(): Failed opening required" Типа нет такой директории или файла, хотя фактически они есть (запроверял до дыр). Проблема оказалось в том, что скрипт при заливе его на хостинг, перестает учитывать верхний регистр букв в путях "require "require решением будет переименовать эти файлы только маленькими буквами и папки в которых лежат эти файлы должны называться маленькими буквами т.е. так : И все, че за фигня я не понял конечно, разбираться уже не хочется, т.к. на решение проблемы убито over дохрена времени, но таким вот образом скрипт робит

mrkrog
Автор

тоже тема прям острая, это третий видос по формам, надеюсь заработает... заранее спасибо)

techno-
Автор

Скачал исходники с гитхаба + заменил почту на свою + залил на хостинг = ПИСЬМА НЕ ПРИХОДЯТ

ВРадушев
Автор

ничего не пойму. Папка после распаковки называется PHPMailer-master, а путь укзываем: require "PHPMailer/src/PHPMailer.php"

Dubik_Ks
Автор

Ребята подскажите есть ли возможность слать сообщения на яндекс почту?
Немного не понял про хост тоеть данный код будет работать если его на хостинг залить если да то подскажите есть ли инструкция?

Бродяга-ци
Автор

Брат, а подскажи плиз, зачем вы все метод POST пишите вот так, всеми большими буквами? А если маленькими написать, работать не будет разве?

IgorBobyrev
Автор

Прошу подсказать почему выдаётся ошибка Uncaught (in promise) SyntaxError: Unexpected token 'E', "Error" is not valid JSON в консоле браузера при отправки данных с формы обратной связи на сайте на почту хостинга?

RosGamePlay
Автор

почему то у меня не высылается, и когда кликаю на ОТПРАВИТЬ никакого действия нету. Все на сервер выгрузил, и нечего не выходит :(

BmxCarSoundStreetTrial
Автор

есть ребята что добавить. итак ошибка 500 с очень высокой вероятностью это будет ошибка самого скрипта вашего в php. от опечаток, до того что вы не указали какую-то настройку. внимательно просматривайте где что указали или нет.
2. в самой библиотеке PHPMailer в примерах используется только директива use и нет require. так вот в моем случае без require не работает скрипт, так как как я понял не добавляются в глобальную область имен. не знаю как это работает.
3. мой текущий хостинг провайдер подсветил проблему, если делать как указано в видео, то большие почтовые сервисы могут такие сообщение не пропускать, так как где-то там на заднем фоне идет отправка так что ящик указанный как отправитель, не совпадает с ящиком фактическим с которого идет отправка. поэтому лучше реализовывать через протокол SMTP.
4. если будете делать через протокол SMTP то указывайте настройку $mail->SMTPDebug = SMTP::DEBUG_SERVER; в данном случае скрипт будет на хостинге, в корневой публичной папке, где сайт лежит. формировать log_err или с похожим название, по нему можно будет понять в каком месте исполнения будет ошибка.
5. лично я локальный тест не смог реализовать, но не сильно пытался. поэтому тестили через хостинг уже по логам и немного с тех.поддержкой.

EgorDemeshko
Автор

Зачем делать так много функций? Например можно же сразу присвоить data - объект FormData, без вызова отдельной функции или я чего-то не понимаю?

НиколайБелоцерковец-шч
Автор

Здравствуйте уважаемые, У вас всё работает? У меня почему то пишет ошибка 403.. Не знаете в чём может быть причина??? Я уже не знаю кому обращаться

АзаматМуратов-ыв
Автор

Видео набрало 50 лайков, могли бы сделать продолжение?))))

Nebogr
Автор

код не рабочий, как исправить ошибку 500, не объясняется

Dubik_Ks
Автор

Здравствуйте, ошибка 405 вверху экрана, как исправить?

KryvoruchkoPavlo
Автор

Запускаю с хостинга, пишет ошибку 500, что может быть?

ВладХамов-ми
Автор

Подскажите что может быть не так. Пишет что отправлена форма, но не приходит письмо. Почту вписал. Помогите)

relax