exec("set names utf8mb4"); } $phone = ""; if (isset($_GET['phone_number'])) { $phone = htmlspecialchars(strip_tags($_GET['phone_number'])); } elseif (isset($_POST['phone_number'])) { $phone = htmlspecialchars(strip_tags($_POST['phone_number'])); } else { $phone = filterRequest("phone_number"); } if (empty($phone)) { jsonError("Phone number is required"); exit; } // تشفير الرقم للبحث $phoneEncrypted = $encryptionHelper->encryptData($phone); // الاستعلام: نختار الحقول بدقة لتجنب التضارب $sql = "SELECT d.id as driver_id, d.name_arabic as driver_name_encrypted, -- الاسم من جدول السائق d.phone as phone_encrypted, d.gender as gender_encrypted FROM `driver` d WHERE d.phone = ? LIMIT 1"; try { $stmt = $con->prepare($sql); $stmt->execute([$phoneEncrypted]); if ($stmt->rowCount() > 0) { $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($rows as &$item) { // ============================================ // 1. فك تشفير الحقول المشفرة فقط (حسب ملف CSV) // ============================================ // بيانات السائق if (!empty($item['driver_name_encrypted'])) { $item['driverName'] = $encryptionHelper->decryptData($item['driver_name_encrypted']); } if (!empty($item['phone_encrypted'])) { $item['phone'] = $encryptionHelper->decryptData($item['phone_encrypted']); } if (!empty($item['gender_encrypted'])) { $item['gender'] = $encryptionHelper->decryptData($item['gender_encrypted']); } } jsonSuccess($rows); } else { jsonError("No driver found with this phone number"); } } catch (PDOException $e) { error_log("SQL Error: " . $e->getMessage()); jsonError("Database error"); } catch (Exception $e) { error_log("General Error: " . $e->getMessage()); jsonError("System error"); } ?>