Итак по порядку.
1. Имеется сайт на PHP ( без движка, было вырезано откуда то разработчиком, найти его к сожалению нет возможности).
2. Система AmoCRM которая получает данные из наших форм.
3. Есть формы работающие через ajax. ( выполнены таким образом что обработчик этих форм написан в action и type, но сами формы по отдельности выведены в отдельные case.
4. Существует скрипт от сторонней компании которая помогает с интеграцией в AmoCRM и переменные которые она пропуская через свое ядро отправляет в по конечный пункт.
Подключение этого скрипта выполняется следующими способами.
1. Вставляется на каждую страницу перед тегом /body скрипт с ключом.
2. В файле обработчика формы подключается файлик со скриптом куда отправлять данные методом POST либо кодом из этого файлика методом вставки в каждую форму.
Вопрос следующий, как бы я не вставлял и не редактировал данный код по отправке, ничего не выходит. Либо я просто тупой ( сильно помидорами не кидать, я админ а не WEB программер
Вообщем вопрос такой, как правильно настроить код чтобы этот код правильно брал переменные и вкладывал в массив передающий методом POST. Ужо голову сломал.
код скрипта на каждую страницу ( ее я вставил в шаблон формирования страниц он динамический. )
<script type="text/javascript">
(function(d, w, k) {
w.introvert_callback = function() {
try {
w.II = new IntrovertIntegration(k);
} catch (e) {console.log(e)}
};
var n = d.getElementsByTagName("script")[0],
e = d.createElement("script");
e.type = "text/javascript";
e.async = true;
e.src = "https://api.yadrocrm.ru/js/cache/"+ k +".js";
n.parentNode.insertBefore(e, n);
})(document, window, '03d91470');
</script>
Далее вот этот код из файлика
<?php
//Загрузка данных в amoCRM (by INTROVERT)
$intr_key = '03d91470';
$introvertUrl = 'https://api.yadrocrm.ru/integration/site?key='. $intr_key;
$cookieData = json_decode($_COOKIE['introvert_cookie'], true) ?: array(); // данные сохраняемые js скриптом
$postArr = array_merge($cookieData, $_POST); // $_POST данные отправленной формы
// объединяем данные и отправляем
if (function_exists('curl_init')) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $introvertUrl);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postArr));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Yadro-Site-Integration-client/1.0');
$result = curl_exec($curl);
curl_close($curl);
} else {
if ((boolean) ini_get('allow_url_fopen')) {
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($postArr),
'timeout' => 2,
)
);
try {
file_get_contents($introvertUrl, false, stream_context_create($opts));
} catch (Exception $e) {
return;
}
}
}