1с-Битрикс управление сайтом
Продление лицензий 1С-Битрикс: Управление сайтом
У нас вы можете приобрести продукты и продления лицензий 1С-Битрикс без наценок и бюрократии.
Битрикс24
Продление лицензий Битрикс24
У нас вы можете приобрести продукты и продления лицензий Битрикс24 без наценок и бюрократии.
Назад

Как сохранить результат веб-формы в 1С-Битрикс

Как
Главная
Блог
Как сохранить результат веб-формы в 1С-Битрикс

С помощью метода CFormResult::Add можно добавлять данные в админку Битрикс из любой HTML-формы, даже без использования стандартного модуля веб-форм.

Что понадобится?

  • ID веб-формы (можно посмотреть в админке)

  • Настроенные поля формы (текстовые, скрытые и др.)

  • Правильные имена полей (см. официальную документацию)

Пример кода для сохранения данных формы

Допустим, у нас есть HTML-форма с полями name, email, tel и скрытыми данными (allzakaz, allcoll, allprice). После отправки форма обрабатывается на странице благодарности:

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?>

<?if (isset($_POST['email']) && isset($_POST['allzakaz'])):?>
    <?
    // Получаем данные из POST
    $name = $_POST['name'] ?? '';
    $email = $_POST['email'] ?? '';
    $phone = $_POST['tel'] ?? '';
    $allzakaz = $_POST['allzakaz'] ?? '';
    $allcoll = $_POST['allcoll'] ?? '';
    $allprice = $_POST['allprice'] ?? '';

    // Формируем массив значений (ID полей из админки)
    $arValues = [
        "form_hidden_18" => $name,
        "form_hidden_19" => $email,
        "form_hidden_20" => $phone,
        "form_hidden_22" => $allcoll,
        "form_hidden_23" => $allprice,
        "form_hidden_24" => $allzakaz
    ];

    // ID формы (указываем свой)
    $FORM_ID = 4;
    CModule::IncludeModule("form"); // Подключаем модуль веб-форм

    // Добавляем запись в веб-форму
    if ($RESULT_ID = CFormResult::Add($FORM_ID, $arValues)) {
        // Отправляем email-уведомление
        $message = "{$name}, ваш заказ подтвержден. В ближайшее время с вами свяжется менеджер.\n\nСостав заказа:\n{$allzakaz}";
        mail($email, "Подтвержден заказ №{$RESULT_ID} на site.ru", $message, "From: info@site.ru");
    }
    ?>
<?endif;?>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

Как это работает?

  1. Форма отправляет данные методом POST.

  2. Скрипт проверяет наличие обязательных полей (email, allzakaz).

  3. Данные передаются в CFormResult::Add, который сохраняет их в админке Битрикс.

  4. Пользователь получает email-подтверждение.

Вывод

С помощью CFormResult::Add можно:
Сохранять данные из кастомных HTML-форм
Интегрировать формы без стандартного модуля Битрикс
Автоматизировать обработку заказов и заявок

Этот метод открывает возможности для нестандартных решений, таких как имитация каталога товаров или сложных систем обратной связи.

Получите план улучшений для вашего сайта — бесплатно
Оставьте заявку и получите аудит сайта по ключевым параметрам, включая скорость, безопасность и SEO-ошибки, которые мешают сайту привлекать клиентов.
Заказать аудит
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи