Всем супер отличного дня! Пятница, ты наконец-то здесь! 😁
Ладно, хватит о настроении, пора делиться полезностями. Вот обновленный код для проверки дубликатов лидов в нашем 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. Это позволяет видеть полный набор данных лида и использовать их для дальнейшей работы в случае необходимости.
Код минимально изменён, но стал чуть удобнее для работы!`