false, 'error' => 'Invalid request method']); exit; } $name = trim($_POST['name'] ?? ''); $email = trim($_POST['email'] ?? ''); $phone = trim($_POST['phone'] ?? ''); $service = trim($_POST['service'] ?? ''); $message = trim($_POST['message'] ?? ''); if (empty($name) || empty($email)) { echo json_encode(['success' => false, 'error' => 'Name and Email are required']); exit; } try { $db = db(); $stmt = $db->prepare("INSERT INTO appointment_requests (name, email, phone, service, message) VALUES (?, ?, ?, ?, ?)"); $stmt->execute([$name, $email, $phone, $service, $message]); // Optional: Send email notification $to = getenv('MAIL_TO') ?: null; $subject = "New Appointment Request: $service"; $body = "Name: $name\nEmail: $email\nPhone: $phone\nService: $service\nMessage: $message"; MailService::sendMail($to, $subject, "

".nl2br($body)."

", $body); echo json_encode(['success' => true]); } catch (Exception $e) { echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]); }