38 lines
1.3 KiB
PHP
38 lines
1.3 KiB
PHP
<?php
|
|
header('Content-Type: application/json');
|
|
require_once __DIR__ . '/db/config.php';
|
|
require_once __DIR__ . '/mail/MailService.php';
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
|
echo json_encode(['success' => 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, "<p>".nl2br($body)."</p>", $body);
|
|
|
|
echo json_encode(['success' => true]);
|
|
} catch (Exception $e) {
|
|
echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]);
|
|
}
|
|
|