tgoop.com/boostclicks/310
Create:
Last Update:
Last Update:
Всем супер отличного дня! Пятница, ты наконец-то здесь! 😁
Ладно, хватит о настроении, пора делиться полезностями. Вот обновленный код для проверки дубликатов лидов в нашем API:
function isDuplicateLead($phone)
{
$file = __DIR__ . '/leads.txt';
if (!file_exists($file)) {
file_put_contents($file, '');
}
$leads = file_get_contents($file);
$leadsArray = array_filter(explode("\n", trim($leads)));
foreach ($leadsArray as $lead) {
$leadData = json_decode($lead, true);
if (isset($leadData['phone']) && $leadData['phone'] === $phone) {
return true;
}
}
return false;
}
function cleanPhoneNumber($phoneNumber)
{
return preg_replace('/[^\d+]/', '', $phoneNumber);
}
function logLead($data)
{
$file = __DIR__ . '/leads.txt';
$leads = file_get_contents($file);
$leadsArray = array_filter(explode("\n", trim($leads)));
$logEntry = json_encode($data, JSON_UNESCAPED_UNICODE);
foreach ($leadsArray as $lead) {
if ($lead === $logEntry) {
return;
}
}
file_put_contents($file, $logEntry . "\n", FILE_APPEND);
}
$cleanedPhone = cleanPhoneNumber($_POST['phone']);
if (isDuplicateLead($cleanedPhone)) {
header('Location: error.php?name=' . urlencode($_POST['firstname']) . '&phone=' . urlencode($_POST['phone']));
exit;
} else {
logLead($_POST);
}
Что нового?
По функционалу ничего не изменилось, всё работает как и раньше:
- Очищаем номер телефона от лишних символов.
- Проверяем его наличие в логах.
- Если номер уже есть в логе — отправляем пользователя на error.php
- Если номера в логе нет — продолжаем выполнение api.php
Что добавил:
Теперь в лог (leads.txt) записываются не только номера, но и все остальные данные, которые приходят из формы через POST.
Это позволяет видеть полный набор данных лида и использовать их для дальнейшей работы в случае необходимости.
Код минимально изменён, но стал чуть удобнее для работы!
BY BoostClicks | Арбитраж трафика
Share with your friend now:
tgoop.com/boostclicks/310