Добрый вечер!
Есть кастомная форма на bitrix, отправляется с помощью ajax. Нужно внедрить туда recapcha, решил прикрутить стандартную, из битрикса. Всё получилось, если капча неверная, сообщение не отправляется на почту, но...! Как сообщить пользователю, что форма не ушла я не знаю. Просто понятия не имею, как мне выполнить проверку, как вернуть ответ сервера. Даже хуже, что бы не было в php файле, я всегда получаю 200ок, даже если он пустой. Соответственно, даже с условием:
if(!$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"])):?>
<? echo 'err'; ?>
<? else: ?>
<? mail($strEmail, $subject, $template, $headers); ?>
<? endif; ?>
Хорошо, я условие с ошибкой, я могу передавать заголовок, с кодом ошибки, как мне отправить этот код на страницу, с которой форма ушла? Если проверять с помощью метода
http_response_code()
я всегда получаю 200ок.
На самом деле я не уверен, как это работает, у меня есть форма, которая перенаправляет данные из формы в файл send.php, перезагрузки страницы не происходит, но форма точно смотрит в
action="<?=SITE_DIR?>send.php"
. Попадая в send.php происходит проверка с помощью
$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"])
и если проверка не проходит
mail()
ничего не отправляет. Но сам send.php отдаст 200ок. Видимо раз файл доступен, значит и 200ок. Мне казалось, это должно работать по другому...