| | <?php |
| | |
| | $host = '127.0.0.1'; |
| | $dbname = 'jweb'; |
| | $username = 'root'; |
| | $password = 'YourStrongPassword123'; |
| |
|
| | |
| | error_reporting(E_ALL); |
| | ini_set('display_errors', 1); |
| |
|
| | header('Content-Type: application/json'); |
| |
|
| | |
| | try { |
| | $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password); |
| | $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
| | } catch (PDOException $e) { |
| | echo json_encode(['status' => 'error', 'message' => 'Database connection failed: ' . $e->getMessage()]); |
| | exit; |
| | } |
| |
|
| | |
| | if ($_SERVER['REQUEST_METHOD'] === 'POST') { |
| | |
| | $required_fields = ['customer_name', 'email', 'phone', 'vehicle_make', 'vehicle_model', 'service_type', 'service_name']; |
| | |
| | foreach ($required_fields as $field) { |
| | if (empty($_POST[$field])) { |
| | echo json_encode(['status' => 'error', 'message' => "Please fill in all required fields. Missing: $field"]); |
| | exit; |
| | } |
| | } |
| | |
| | |
| | $customer_name = filter_var($_POST['customer_name'], FILTER_SANITIZE_STRING); |
| | $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); |
| | $phone = filter_var($_POST['phone'], FILTER_SANITIZE_STRING); |
| | $vehicle_make = filter_var($_POST['vehicle_make'], FILTER_SANITIZE_STRING); |
| | $vehicle_model = filter_var($_POST['vehicle_model'], FILTER_SANITIZE_STRING); |
| | $vehicle_year = !empty($_POST['vehicle_year']) ? filter_var($_POST['vehicle_year'], FILTER_SANITIZE_NUMBER_INT) : null; |
| | $service_type = filter_var($_POST['service_type'], FILTER_SANITIZE_STRING); |
| | $service_name = filter_var($_POST['service_name'], FILTER_SANITIZE_STRING); |
| | $preferred_date = !empty($_POST['preferred_date']) ? $_POST['preferred_date'] : null; |
| | $preferred_time = !empty($_POST['preferred_time']) ? $_POST['preferred_time'] : null; |
| | $message = !empty($_POST['message']) ? filter_var($_POST['message'], FILTER_SANITIZE_STRING) : null; |
| | |
| | |
| | if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { |
| | echo json_encode(['status' => 'error', 'message' => 'Please provide a valid email address']); |
| | exit; |
| | } |
| | |
| | |
| | try { |
| | $stmt = $pdo->prepare("INSERT INTO service_bookings |
| | (customer_name, email, phone, vehicle_make, vehicle_model, vehicle_year, |
| | service_type, service_name, preferred_date, preferred_time, message) |
| | VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); |
| | |
| | $stmt->execute([ |
| | $customer_name, |
| | $email, |
| | $phone, |
| | $vehicle_make, |
| | $vehicle_model, |
| | $vehicle_year, |
| | $service_type, |
| | $service_name, |
| | $preferred_date, |
| | $preferred_time, |
| | $message |
| | ]); |
| | |
| | |
| | $booking_id = $pdo->lastInsertId(); |
| | |
| | |
| | |
| | |
| | echo json_encode([ |
| | 'status' => 'success', |
| | 'message' => 'Your booking has been submitted successfully! We will contact you shortly to confirm your appointment.', |
| | 'booking_id' => $booking_id |
| | ]); |
| | |
| | } catch (PDOException $e) { |
| | echo json_encode(['status' => 'error', 'message' => 'Failed to save booking: ' . $e->getMessage()]); |
| | } |
| | } else { |
| | echo json_encode(['status' => 'error', 'message' => 'Invalid request method']); |
| | } |