PHPMailer, jQuery + AJAX — обработка формы

12
W1
На сайте с 22.01.2021
Offline
306
#11
REDGROUP #:
Надеюсь не нарушаю правила форума использую shorten url

Вы их не нарушите, даже если будете использовать нормальный URL.

Мой форум - https://webinfo.guru –Там я всегда на связи
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#12

Вообще по хорошему, надо просто завести переменную $error и в неё всё складывать. Exit() тут явно лишние.

Сделать проверку, если нет ошибок то отправлять письмо. Если есть просто $responet = $error

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
REDGROUP
На сайте с 26.05.2021
Offline
14
#13
LEOnidUKG #:

Первая строчка в файле должна быть:

Далее уже выводите в JSON формате ошибки.

Сейчас так и сделано, это самая первая строчка после открывающего тега <?php

Но на работе не сказывается. 

У меня как я понимаю проблема с response.

REDGROUP
На сайте с 26.05.2021
Offline
14
#14

Как я понимаю мне нужно сделать следующее

<?php

$response = array(
  'status' => 0,
  'message' => 'Form submission failed'
);
$errorEmpty = false; $erroEmail = false;

После этого внутри проверки 

if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['name']) && isset($_POST['message'])) { 

Сделать следующее. Например добавить

if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  $response['message'= "Invalid email!";
  $erroEmail = true;
}

И в самом конце

echo json_encode($response);

Правильно ли я мыслю? Простите за глупый вопрос(

A
На сайте с 30.05.2021
Offline
1
#15
REDGROUP #:

Как я понимаю мне нужно сделать следующее

После этого внутри проверки 

Сделать следующее. Например добавить

И в самом конце

Правильно ли я мыслю? Простите за глупый вопрос(

Да, вы правильно мыслите.
W1
На сайте с 22.01.2021
Offline
306
#16
Amarilydi #:
Да, вы правильно мыслите.

В каком месте правильно?

REDGROUP
На сайте с 26.05.2021
Offline
14
#17
Проблема решилась через
$unserialized = array();
parse_str($_POST['formData'], $unserialized);
echo json_encode(array('success' => 1)); $message = secure_input($unserialized["message"]);

Письма отсылаются, только у меня ещё вопрос.
htmlspecialchars и прочее работают с сериализацией?
И как заставить работать $_FILES с сериализацией?

REDGROUP
На сайте с 26.05.2021
Offline
14
#18
Всем спасибо, проблема решена.
D
На сайте с 28.06.2008
Offline
1114
#19

Просто в глаза бросилось

$data = str_replace(array("\r", "\n"), array(" ", " "), $data);

Зачем второй массив? Разве не так нужно?

$data = str_replace(array("\r", "\n"), " ", $data);
REDGROUP
На сайте с 26.05.2021
Offline
14
#20
Dram #:

Просто в глаза бросилось

Зачем второй массив? Разве не так нужно?

Исправил, спасибо большое

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий