Добрый вечер.
Проблема такая - есть ajax форма, которая отправляет письмо на почту, но помимо отправки, нужно сохранить результат в битрикс.
Собственно вопрос в том, как получить отправленные данные формы? $_POST не срабатывает как триггер (isset($_POST['submit'])) и не хранит данных формы после отправки.
Форма:
<div>
<div>
<form name="callback" action="<?=POST_FORM_ACTION_URI?>" method="POST">
<div>
<?=bitrix_sessid_post()?>
<input type="text" placeholder="Как к Вам обращаться?" name="user_name" value="" size="0">
<input type="text" placeholder="Ваш email" name="user_email" value="" size="0">
<input type="text" placeholder="Ваш телефон" name="MESSAGE" value="" size="0">
<input type="hidden" name="sessid" id="sessid">
<input type="hidden" name="WEB_FORM_ID" value="4">
<input type="hidden" name="lang" value="ru">
<input type="hidden" name="PARAMS_HASH" value="<?=$arResult["PARAMS_HASH"]?>">
<input type="submit" name="submit" value="<?=GetMessage("MFT_SUBMIT")?>">
</div>
</form>
</div>
</div>
Вызов формы:
<?$APPLICATION->IncludeComponent(
"bitrix:main.feedback",
"callback",
array(
"EMAIL_TO" => "e mal@email.ru ",
"EVENT_MESSAGE_ID" => array(
0 => "7",
),
"OK_TEXT" => "Ваша заявка принята. В ближайшее время наш менеджер свяжется с вами.",
"AJAX_MODE" => "Y",
"AJAX_OPTION_SHADOW" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"REQUIRED_FIELDS" => array(
0 => "NONE",
),
"USE_CAPTCHA" => "N",
"COMPONENT_TEMPLATE" => "callback"
),
false
);?>
Попытка записать результат:
<?php
if(isset($_POST['submit'])) {
$arValues = array (
"form_text_1" => $_POST["user_name"],
"form_text_2" => $_POST["MESSAGE"],
"form_text_3" => $_POST["user_email"],
);
$FORM_ID = 1;
CModule::IncludeModule("form");
CFormResult::Add($FORM_ID, $arValues)
}
?>
Проблема такая - есть ajax форма, которая отправляет письмо на почту, но помимо отправки, нужно сохранить результат в битрикс.
Собственно вопрос в том, как получить отправленные данные формы? $_POST не срабатывает как триггер (isset($_POST['submit'])) и не хранит данных формы после отправки.
Форма:
<div>
<div>
<form name="callback" action="<?=POST_FORM_ACTION_URI?>" method="POST">
<div>
<?=bitrix_sessid_post()?>
<input type="text" placeholder="Как к Вам обращаться?" name="user_name" value="" size="0">
<input type="text" placeholder="Ваш email" name="user_email" value="" size="0">
<input type="text" placeholder="Ваш телефон" name="MESSAGE" value="" size="0">
<input type="hidden" name="sessid" id="sessid">
<input type="hidden" name="WEB_FORM_ID" value="4">
<input type="hidden" name="lang" value="ru">
<input type="hidden" name="PARAMS_HASH" value="<?=$arResult["PARAMS_HASH"]?>">
<input type="submit" name="submit" value="<?=GetMessage("MFT_SUBMIT")?>">
</div>
</form>
</div>
</div>
Вызов формы:
<?$APPLICATION->IncludeComponent(
"bitrix:main.feedback",
"callback",
array(
"EMAIL_TO" => "
"EVENT_MESSAGE_ID" => array(
0 => "7",
),
"OK_TEXT" => "Ваша заявка принята. В ближайшее время наш менеджер свяжется с вами.",
"AJAX_MODE" => "Y",
"AJAX_OPTION_SHADOW" => "N",
"AJAX_OPTION_JUMP" => "N",
"AJAX_OPTION_STYLE" => "Y",
"AJAX_OPTION_HISTORY" => "N",
"REQUIRED_FIELDS" => array(
0 => "NONE",
),
"USE_CAPTCHA" => "N",
"COMPONENT_TEMPLATE" => "callback"
),
false
);?>
Попытка записать результат:
<?php
if(isset($_POST['submit'])) {
$arValues = array (
"form_text_1" => $_POST["user_name"],
"form_text_2" => $_POST["MESSAGE"],
"form_text_3" => $_POST["user_email"],
);
$FORM_ID = 1;
CModule::IncludeModule("form");
CFormResult::Add($FORM_ID, $arValues)
}
?>