Всем супер отличного дня! Пятница, ты наконец-то здесь! 😁

Ладно, хватит о настроении, пора делиться полезностями. Вот обновленный код для проверки дубликатов лидов в нашем API:

`function isDuplicateLead($phone) { $file = 'leads.txt';

if (!file_exists($file)) { file_put_contents($file, ''); }

$leads = file_get_contents($file); $escapedPhone = preg_quote($phone, '/'); $phonePattern = '/' . $escapedPhone . 'b/';

return preg_match($phonePattern, $leads); }

function cleanPhoneNumber($phoneNumber) { return preg_replace('/[^0-9]/', '', $phoneNumber); }

$cleanedPhone = cleanPhoneNumber($_POST['phone']);

function logLead($data) { $file = 'leads.txt'; $dateTime = date('Y-m-d H:i:s'); $data['timestamp'] = $dateTime; $logEntry = json_encode($data, JSON_UNESCAPED_UNICODE) . "n"; file_put_contents($file, $logEntry, FILE_APPEND); }

if (isDuplicateLead($cleanedPhone)) { header('Location: error.php?name=' . urlencode($POST['name']) . '&phone=' . urlencode($POST['phone'])); exit; } else { logLead($_POST); }

Что нового? По функционалу ничего не изменилось, всё работает как и раньше:

  • Очищаем номер телефона от лишних символов.
  • Проверяем его наличие в логах.
  • Если номер уже есть в логе — отправляем пользователя на error.php
  • Если номера в логе нет — продолжаем выполнение api.php Что добавил: Теперь в лог (leads.txt) записываются не только номера, но и все остальные данные, которые приходят из формы через POST. Это позволяет видеть полный набор данных лида и использовать их для дальнейшей работы в случае необходимости.

Код минимально изменён, но стал чуть удобнее для работы!`