"false", "message" => "Ошибка подключения к базе данных: " . $error, "result" => "" ], JSON_UNESCAPED_UNICODE); return; } mysqli_set_charset($link, "utf8"); log_message("Подключение к БД успешно"); $inn = isset($_POST['inn']) ? trim($_POST['inn']) : ''; if (empty($inn)) { log_message("Номер полиса не указан"); echo json_encode([ "success" => "false", "message" => "Номер полиса не указан", "result" => "" ], JSON_UNESCAPED_UNICODE); mysqli_close($link); return; } log_message("Проверка полиса: " . substr($inn, 0, 5) . "***"); // Нормализуем номер полиса: заменяем кириллическую "Е" на латинскую "E" // Это нужно, т.к. в базе данных используются только латинские буквы $inn_original = $inn; $inn = str_replace('Е', 'E', $inn); // Кириллическая Е -> латинская E $inn = str_replace('е', 'e', $inn); // Кириллическая е -> латинская e (на всякий случай) $inn = str_replace('А', 'A', $inn); // Кириллическая А -> латинская A $inn = str_replace('а', 'a', $inn); // Кириллическая а -> латинская a if ($inn_original !== $inn) { log_message("Номер полиса нормализован: $inn_original -> $inn"); } // Экранируем для безопасности $inn_escaped = mysqli_real_escape_string($link, $inn); // Ищем полис по номеру voucher $sql = "SELECT * FROM lexrpiority WHERE voucher = '$inn_escaped' LIMIT 1"; log_message("SQL запрос: SELECT * FROM lexrpiority WHERE voucher = '***'"); $result = mysqli_query($link, $sql); if (!$result) { $error = mysqli_error($link); log_message("Ошибка SQL запроса: $error"); echo json_encode([ "success" => "false", "message" => "Ошибка запроса к базе данных: " . $error, "result" => "" ], JSON_UNESCAPED_UNICODE); mysqli_close($link); return; } $row = mysqli_fetch_assoc($result); if (!$row) { // Полис не найден в базе log_message("Полис не найден в базе данных"); echo json_encode([ "success" => "false", "message" => "Полис не найден", "result" => "" ], JSON_UNESCAPED_UNICODE); mysqli_close($link); return; } log_message("Полис найден в БД. Тарифы: basic=" . ($row['tariff_code_basic'] ?? 'нет') . ", other=" . ($row['tariff_code_other'] ?? 'нет')); // Полис найден, проверяем тариф $tariff_basic = isset($row['tariff_code_basic']) ? trim($row['tariff_code_basic']) : ''; $tariff_other = isset($row['tariff_code_other']) ? trim($row['tariff_code_other']) : ''; $has_valid_tariff = in_array($tariff_basic, $valid_tariffs_basic) || in_array($tariff_other, $valid_tariffs_other); if ($has_valid_tariff) { // Полис найден и тариф подходит log_message("Полис валиден. Тариф подходит для задержки рейса"); echo json_encode([ "success" => "true", "message" => "Полис найден", "result" => $row ], JSON_UNESCAPED_UNICODE); } else { // Полис найден, но тариф не включает покрытие задержки рейса log_message("Полис найден, но тариф не подходит для задержки рейса"); echo json_encode([ "success" => "false", "message" => "Ваш полис не включает покрытие задержки рейса", "result" => "" ], JSON_UNESCAPED_UNICODE); } mysqli_close($link); } ?>