Задать вопрос
@Bartdes
Учусь создавать сайты

Как сделать обработчик для битрикс24 на несколько форм?

Помогите пожалуйста...! Не знаю как сделать обработчик на несколько контактных форм. На одну контактную форму все работает и отправляется. У меня на сайте будет несколько форм на разных страницах.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Страница благодарности</title>
<link href="css/style.css" type="text/css" rel="stylesheet"/>
</head>
<body>

<?
define('CRM_HOST', 'website.bitrix24.ru'); // Домен срм системы
define('CRM_PORT', '443'); 
define('CRM_PATH', '/crm/configs/import/lead.php'); 
define('CRM_LOGIN', 'website@mail.ru');  // логин
define('CRM_PASSWORD', 'fdfdf45efd45'); // пароль

/********************************************************************************************/

if ($_SERVER['REQUEST_METHOD'] == 'POST'){

    // получаем данные из полей и задаем название лида
    
    $postData = array(
        'TITLE' => $_POST['kuh_zvon'], // сохраняем нашу метку и формируем заголовок лида
        'UF_CRM_4511575441' => $_POST['username2'],   // сохраняем имя
        'UF_CRM_54554515' =>$_POST['phone2'], // сохраняем телефон

    );

    // авторизация, проверка логина и пароля
    if (defined('CRM_AUTH'))
    {
        $postData['AUTH'] = CRM_AUTH;
    }
    else
    {
        $postData['LOGIN'] = CRM_LOGIN;
        $postData['PASSWORD'] = CRM_PASSWORD;
    }

    $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30);
    if ($fp)
    {
        // формируем и шифруем строку с данными из формы
        $strPostData = '';
        foreach ($postData as $key => $value)
            $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value);
            $str = "POST ".CRM_PATH." HTTP/1.0\r\n";
            $str .= "Host: ".CRM_HOST."\r\n";
            $str .= "Content-Type: application/x-www-form-urlencoded\r\n";
            $str .= "Content-Length: ".strlen($strPostData)."\r\n";
            $str .= "Connection: close\r\n\r\n";

        $str .= $strPostData;

        // отправляем запрос в срм систему
        fwrite($fp, $str );
        $result = '';
        while (!feof($fp))
        {
            $result .= fgets($fp, 128);
        }
        fclose($fp);
        $response = explode("\r\n\r\n", $result);
        $output = '<pre>'.print_r($response[1], 1).'</pre>';
    }
    else
    {
        echo 'Connection Failed! '.$errstr.' ('.$errno.')';
    }
}
//else
// {
//     $output = 'Ошибка';
// }
?>

<!-- То, что будет показываться на странице благодарности -->
<div id="thanks"><h1>Спасибо, Ваша заявка принята.</h1><p class="Pthanks">Наш менеджер свяжется с Вами в течение 15 минут</p>
<p>Если ваша заявка поступила после 17:00, мы обязательно свяжемся с Вами<br/> на следующий день после 9:00.</p><a href="index.html">Вернуться на сайт</a></div>';
</body>
</html>


Буду очень благодарен!
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Sowander
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
  if(isset($_SERVER['POST']['FORM1']))
   {
   здесь код для одной формы
   }elseif(isset($_SERVER['POST']['FORM2'])){
   здесь код для другой формы
   }
}

в форме при этом должен быть

<input type="hidden" name="FORM1" value="1">
в другой
<input type="hidden" name="FORM2" value="2">
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы