Answer the question
In order to leave comments, you need to log in
How to fix the error of attaching a file to a Bitrix24 lead?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Заявка принята</title>
<link rel="stylesheet" href="/wa-content/blog/fonts/font.css">
<link rel="shortcut icon" href="/favicon.ico"/>
<script type="text/javascript" src="{$wa_static_url}wa-content/js/jquery-3.2.1.min.js" ></script>
<script type="text/javascript" src="{$wa_static_url}wa-content/js/common.js"></script>
</head>
<body>
<?php
function show_form()
{
?>
<?
}
function complete_mail() {
$leadData = $_POST['DATA'];
// Получаем данные из форм и сохраняем в массив
$postData = array(
'Имя:' => $leadData['NAME'],
'Телефон' => $leadData['PHONE_WORK'],
'Почта:' => $leadData['EMAIL_WORK'],
'Комментарий:' => $leadData['COMMENTS'],
);
$strPostData = '';
foreach ($postData as $key => $value)
$strPostData .= ($strPostData == '' ? '' : ' ').$key.' '.($value)."<br>";
$str .= "<p><strong>Заявка:</strong> <br/> ".($strPostData)."</p>\r\n";
require 'class.phpmailer.php'; //Дополнительный скрипт для отправки файла, можете не открывать, просто положите рядом с index.html и этим файлом.
$mail = new PHPMailer();
$mail->From = '[email protected]'; // от кого
$mail->FromName = 'volt'; // от кого Имя
$mail->AddAddress('[email protected]', 'Имя'); // кому? Ваша почта, Имя
$mail->IsHTML(true); // формат письма HTML
$mail->Subject = "Новая заявка"; // тема письма
// если есть файл, то прикрепляем его к письму
if(isset($_FILES['upl'])) {
if($_FILES['upl']['error'] == 0){
$mail->AddAttachment($_FILES['upl']['tmp_name'], $_FILES['upl']['name']);
}
}
$mail->Body = $str;
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>
<?
define('CRM_HOST', 'voltmarket-oren.bitrix24.ru'); // Домен срм системы
define('CRM_PORT', '443');
define('CRM_PATH', '/crm/configs/import/lead.php');
define('CRM_LOGIN', ''); // логин
define('CRM_PASSWORD', ''); // пароль
/********************************************************************************************/
// POST processing
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$leadData = $_POST['DATA'];
$metka = "Заявка".$leadData['NAME']; // Название лида, обязательное условие
$istochnik = "Веб-сайт"; // Источник
$assigned = 50; // Ответственный
$dop_istochnik = $leadData['SOURCE_DESCRIPTION'];
$comments = "Сообщение: ".$leadData['OTHERS'];
// получаем данные из полей и задаем название лида
$postData = array(
'TITLE' => $metka,
'NAME' => $leadData['NAME'],
'PHONE_WORK' =>$leadData['PHONE_WORK'],
'COMMENTS' => $comments,
'EMAIL_WORK' => $leadData['EMAIL_WORK'],
'SOURCE_DESCRIPTION' =>$leadData['SOURCE_DESCRIPTION'],
'SOURCE_ID' => $istochnik,
'ASSIGNED_BY_ID' => $assigned,
);
// авторизация, проверка логина и пароля
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 = '';
}
?>
<main class="maincontent">
<article class="content with-sidebar" itemscope itemtype="http://schema.org/WebPage">
<!-- То, что будет показываться на странице благодарности -->
<div id="thanks">
<h1><b>Спасибо, Ваша заявка принята!</b></h1>
<a onclick="javascript:history.back(); return false;"><b>Вернуться на сайт</b></a>
</div>
</body>
</html>
Answer the question
In order to leave comments, you need to log in
You do not send files to Bitrix24.
// получаем данные из полей и задаем название лида
$postData = array(
'TITLE' => $metka,
'NAME' => $leadData['NAME'],
'PHONE_WORK' =>$leadData['PHONE_WORK'],
'COMMENTS' => $comments,
'EMAIL_WORK' => $leadData['EMAIL_WORK'],
'SOURCE_DESCRIPTION' =>$leadData['SOURCE_DESCRIPTION'],
'SOURCE_ID' => $istochnik,
'ASSIGNED_BY_ID' => $assigned,
);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question