'; var_dump($_POST); echo ''; require_once 'db/config.php'; // Fetch all contracts for the dropdown $pdo = db(); $contracts_stmt = $pdo->query('SELECT id, contract_title, customer_name FROM contracts ORDER BY customer_name, contract_title'); $contracts = $contracts_stmt->fetchAll(PDO::FETCH_ASSOC); $success_message = ''; $error_message = ''; $form_data = array_fill_keys(['name', 'phone', 'email', 'address', 'service_type', 'preferred_date', 'description', 'contract_id'], ''); if ($_SERVER["REQUEST_METHOD"] == "POST") { // Sanitize and retrieve form data $name = trim($_POST['name'] ?? ''); $phone = trim($_POST['phone'] ?? ''); $email = trim($_POST['email'] ?? ''); $address = trim($_POST['address'] ?? ''); $service_type = trim($_POST['service_type'] ?? ''); $preferred_date = trim($_POST['preferred_date'] ?? ''); $description = trim($_POST['description'] ?? ''); $contract_id = trim($_POST['contract_id'] ?? ''); // Store submitted data to re-populate the form on error $form_data = compact('name', 'phone', 'email', 'address', 'service_type', 'preferred_date', 'description', 'contract_id'); // Server-side validation if (empty($name) || empty($phone) || empty($address) || empty($service_type)) { $error_message = 'Please fill in all required fields: Name, Phone, Address, and Service Type.'; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL) && !empty($email)) { $error_message = 'Please provide a valid email address.'; } else { echo '
';
var_dump($name, $phone, $email, $address, $service_type, $preferred_date, $description, $contract_id);
echo '';
try {
$pdo = db();
$sql = "INSERT INTO service_requests (name, phone, email, address, service_type, preferred_date, description, contract_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
// Handle empty date and contract
$date_to_insert = !empty($preferred_date) ? $preferred_date : null;
$contract_to_insert = !empty($contract_id) ? $contract_id : null;
$stmt->execute([$name, $phone, $email, $address, $service_type, $date_to_insert, $description, $contract_to_insert]);
$success_message = "Thank you! Your service request has been submitted successfully. We will contact you shortly.";
// Clear form data on success
$form_data = array_fill_keys(array_keys($form_data), '');
} catch (PDOException $e) {
// Debugging: show exact error
var_dump($e->getMessage());
error_log("Service Request Error: " . $e->getMessage());
$error_message = 'Sorry, there was an error submitting your request. Please try again later.';
}
}
}
include 'header.php';
?>