Скрипт сохранения заявок в CSV-таблицу
Данный скрипт позволяет сохранять информацию по лидам, которые вы отправляете в партнерку, в CSV-файл. Такая информация полезна для аналитики, а также для сбора аудитории фб.Скрипт принимает и обрабатывает запросы вида, например
site.ru/?name=Chunga&phone=79876543210&geo=RU&offer=Nutra&other=PartnerkaПорядок параметров запроса определяет порядок колонок в таблице. Важно, чтобы в запросе был передан номер телефона в параметре phone.
В первую колонку скрипт пишет дату и время создания записи.
Также скрипт проверяет номер телефона на уникальность во избежание дублей.
Логика скрипта простая и описана в комментариях к коду.
<?php /* // Скрипт принимает и обрабатывает запросы вида // site.ru/?name=kimoncar&phone=79876543210&geo=RU&offer=Idealica&other=Partnerka // // ВАЖНО, чтобы в запросе обязательно передавался телефон в параметре phone // // Author: kimoncar // Copyright https://uproof.pro */ //Работаем, если передан телефон if ($_GET['phone']) { //Разбираем параметры GET запроса в массив и подготавливаем данные для записи mb_parse_str($_SERVER['QUERY_STRING'], $get_data); //Вырезаем из телефона все символы, кроме цифр $get_data['phone'] = preg_replace('/[^0-9]/', '', $get_data['phone']); //Добавляем дату и время записи $date = array('date' => date('d.m.Y H:i:s')); $data[] = $date + $get_data; //Имя файла CSV-таблицы $file = 'table.csv'; //Открываем, либо создаем и открываем файл для чтения $list = readCsv($file); //Если таблица не пустая if (count($list) > 0) { //Получаем записи для проверки на дубли по номеру телефона foreach ($list as $key=>$row) { $phones[] = $row[2]; // цифра 2 указывает на колонку таблицы с номерами телефонов } //Проверяем на дубль перед записью if (!in_array($get_data['phone'], $phones)) { //Если строки с таким телефоном нет, то пишем в таблицу writeCSV($file, $data); } } else { //Если таблица пустая, то делаем первую запись writeCSV($file, $data); } //Вывод содержимого таблицы для теста /* echo "<pre>"; print_r(readCsv($file)); echo "</pre>"; */ } //Функция чтения файла CSV function readCsv($file) { if (($fp = fopen($file, "a+")) !== FALSE) { while (($data_table = fgetcsv($fp, 0, ";")) !== FALSE) { $list[] = $data_table; } fclose($fp); } return $list; } //Функция записи в файл CSV function writeCSV($file, $data) { $fp = fopen($file, 'a+'); foreach ($data as $fields) { fputcsv($fp, $fields, ';', '"'); } fclose($fp); } ?>Этот скрипт нужно положить на хостинг и обращаться к нему GET-запросами.
Например, в файле, который обрабатывает данные с формы и отправляет в партнерку (api.php или getform.php) можно добавить код отправки GET-запроса:
$savetotable = array( 'name' => $name, 'phone' => $phone, 'geo' => $country, 'offer' => 'Idealica', 'other' => 'Partnerka' ); file_get_contents('http://site.ru/?'.http_build_query($savetotable));Значения переменных $name, $phone и $country берем из массива POST, который был передан формой.
Передаваемых параметров может быть сколько угодно.
17.05.2020 г.
331
Написать комментарий
Статьи
Комментарии
27 ноября 2021, 21:05
24 февраля 2021, 12:17
14 февраля 2021, 20:36
14 февраля 2021, 20:12
14 февраля 2021, 20:04
14 февраля 2021, 19:50
Комментарии ()