Добрый день! Есть такая задача: необходимо сделать форму, которую заполняет пользователь, подписываясь в дальнейшем на СМС-информирование. В ней достаточно много полей, описывать все не буду. Собрал свою форму через Сервисы - Настройка Веб-форм. Создал отдельный почтовый шаблон и почтовое событие. При заполнении формы и отправки, все на Email приходит, гуд.
Вопрос вот в чем, необходимо помимо отправки формы на почту, также добавлять информацию из нее в созданный заранее инфоблок,
Пробовал перехватывать значения полей веб формы следующим кодом в init.php:
По какой то причине, все текстовые поля приходят со значением null (сообщение в формате json):
Подскажите, в чем может быть проблема? Что я делаю не так? Может быть, есть какой то другой способ получить значения полей и записать их в ИБ? Заранее, огромное спасибо всем откликнувшимся.
Вопрос вот в чем, необходимо помимо отправки формы на почту, также добавлять информацию из нее в созданный заранее инфоблок,
Пробовал перехватывать значения полей веб формы следующим кодом в init.php:
Код |
---|
<? AddEventHandler('main', 'OnBeforeEventSend', Array("smsForm", "getElements")); class smsForm { function addSmsToIBlock(&$arFields, &$arFieldsMail){ $family = $arFields['new_field_91092']; $name = $arFields['new_field_58257']; $last_name = $arFields['new_field_32723']; $birthday = $arFields['new_field_5123']; $passport_info = $arFields['new_field_48536']." ".$arFields['new_field_57244']; $passport_date = $arFields['new_field_92158']; $city = $arFields['new_field_64818']; $street = $arFields['new_field_9786']; $home = $arFields['new_field_87773']." ".$arFields['new_field_79987']; $phone = $arFields['new_field_83454']; $account = $arFields['new_field_24649']; $accept_date = $arFields['new_field_32620']; $result_id = $arFields['RS_RESULT_ID']; $subject = "Тестовое письмо через PHP MAIL"; $message = json_encode($arFields); $to = "test@yandex.ru"; $headers = 'From: test@yandex.ru' . "\r\n" . 'Reply-To: test@yandex.ru' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); if(mail($to, $subject, $message, $headers)) echo 'Проверяем почту'; else echo 'Что-то пошло не так'; } } ?> |
По какой то причине, все текстовые поля приходят со значением null (сообщение в формате json):
Код |
---|
{"RS_FORM_ID":"1", "RS_FORM_NAME":null, "RS_FORM_VARNAME":"SMS_SUBSCRIBE_FORM", "RS_FORM_SID":"SMS_SUBSCRIBE_FORM", "RS_RESULT_ID":"45", "RS_DATE_CREATE":"15.09.2016 15:59:14", "RS_USER_ID":"1","RS_USER_EMAIL":"web@indigo.pro", "RS_USER_NAME":" 1316","RS_USER_AUTH":" ", "RS_STAT_GUEST_ID":"0", "RS_STAT_SESSION_ID":"0", "new_field_91092":null, "new_field_91092_RAW":null, "new_field_58257":null, "new_field_58257_RAW":null, "new_field_32723":null, "new_field_32723_RAW":null, "new_field_5123":"26.09.1993", "new_field_5123_RAW":"26.09.1993", "new_field_48536":"0000", "new_field_48536_RAW":"0000", "new_field_57244":"063466", "new_field_57244_RAW":"063466", "new_field_92158":"10.10.2008", "new_field_92158_RAW":"10.10.2008", "new_field_64818":null, "new_field_64818_RAW":null, "new_field_9786":null, "new_field_9786_RAW":null, "new_field_87773":"10", "new_field_87773_RAW":"10", "new_field_79987":"21", "new_field_79987_RAW":"21", "new_field_83454":"+79994445577", "new_field_83454_RAW":"+79994445577", "new_field_24649":"0435.431", "new_field_24649_RAW":"0435.431", "new_field_95509":"[14]", "new_field_95509_RAW":"14", "new_field_52163":" ", "new_field_52163_RAW":" ", "new_field_32620":"15.09.2016", "new_field_32620_RAW":"15.09.2016"} |
Подскажите, в чем может быть проблема? Что я делаю не так? Может быть, есть какой то другой способ получить значения полей и записать их в ИБ? Заранее, огромное спасибо всем откликнувшимся.