?php require_once 'config/database.php'; require_once 'config/language.php'; $is_ar = ($page_language === 'ar'); // Initialize variables for form handling $success = false; $errors = []; // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { // CSRF Check $csrf_token = filter_input(INPUT_POST, 'csrf_token', FILTER_SANITIZE_SPECIAL_CHARS); if (!validateCSRFToken($csrf_token)) { $errors[] = t('csrf_error'); } // Sanitize and validate inputs $name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS); $whatsapp = filter_input(INPUT_POST, 'whatsapp', FILTER_SANITIZE_SPECIAL_CHARS); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $service = filter_input(INPUT_POST, 'service', FILTER_SANITIZE_SPECIAL_CHARS); $subject = filter_input(INPUT_POST, 'subject', FILTER_SANITIZE_SPECIAL_CHARS); $message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_SPECIAL_CHARS); // Validation if (empty($name)) { $errors[] = "Name is required"; } if (empty($whatsapp)) { $errors[] = "WhatsApp number is required"; } elseif (!preg_match('/^\+?[0-9]{10,15}$/', $whatsapp)) { $errors[] = "Invalid WhatsApp number format"; } if (empty($email)) { $errors[] = "Email is required"; } elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = "Invalid email format"; } if (empty($service)) { $errors[] = "Service is required"; } if (empty($subject)) { $errors[] = "Subject is required"; } if (empty($message)) { $errors[] = "Message is required"; } // If no errors, insert into database if (empty($errors)) { try { $stmt = $db->prepare("INSERT INTO contact_form_submissions (name, whatsapp, email, service, subject, message, created_at) VALUES (?, ?, ?, ?, ?, ?, NOW())"); $stmt->execute([$name, $whatsapp, $email, $service, $subject, $message]); $success = true; } catch (PDOException $e) { $errors[] = "An error occurred while saving your message. Please try again later."; error_log("Database Error: " . $e->getMessage()); } } } // Fetch services for the dropdown $services_stmt = $db->prepare("SELECT * FROM services WHERE language = ? ORDER BY order_index"); $services_stmt->execute([$page_language]); $services = $services_stmt->fetchAll(); // Hardcoded fallback if DB services table is empty if (empty($services)) { $services = $is_ar ? [ ['title' => 'إعلانات مدفوعة (Meta & Google)'], ['title' => 'تحسين محركات البحث (SEO)'], ['title' => 'تسويق بالمحتوى'], ['title' => 'إدارة السوشيال ميديا'], ['title' => 'تصميم هوية بصرية'], ['title' => 'بناء مواقع احترافية'], ['title' => 'CRM وأتمتة التسويق'], ['title' => 'تسويق هندسي متخصص'], ] : [ ['title' => 'Paid Advertising (Meta & Google)'], ['title' => 'Search Engine Optimization (SEO)'], ['title' => 'Content Marketing'], ['title' => 'Social Media Management'], ['title' => 'Brand Identity Design'], ['title' => 'Professional Website Development'], ['title' => 'CRM & Marketing Automation'], ['title' => 'Specialized Engineering Marketing'], ]; } $page_title = $is_ar ? 'دراسات الحالة | شين ماركتنج — قصص نجاح حقيقية لشركات مصرية' : 'Case Studies | Sheen Marketing — Documented Success Stories for Egyptian & Saudi Companies'; $page_description = $is_ar ? 'دراسات حالة تفصيلية من شين ماركتنج — كيف حققنا لعملائنا نتائج في قطاعات الشحن والمصانع والتعليم والعقار والخدمات الإدارية. أرقام حقيقية ونتائج موثقة.' : 'Detailed case studies from Sheen Marketing — how we achieved measurable results for clients in shipping, manufacturing, education, real estate, and admin services. Real numbers, documented results.'; // Fetch case studies from database $stmt = $db->prepare("SELECT * FROM case_studies WHERE language = ? ORDER BY created_at DESC"); $stmt->execute([$page_language]); $case_studies = $stmt->fetchAll(PDO::FETCH_ASSOC); include_once 'includes/header.php'; ?>