connect_error) { die("Connection failed: " . $conn->connect_error); } // Function to generate SEO-friendly slug function createSlug($string) { $slug = strtolower(trim($string)); $slug = preg_replace('/[^a-z0-9-]+/', '-', $slug); $slug = preg_replace('/-+/', '-', $slug); return rtrim($slug, '-'); } if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Step 1: Overview $serviceTitle = $_POST['serviceTitle']; $category = $_POST['category']; $subCategory = $_POST['subCategory']; $tags = $_POST['tags']; // Step 2: Packages $basic = [ 'price' => $_POST['basic-price'], 'description' => $_POST['basic-description'], 'delivery_time' => $_POST['basic-delivery-time'], 'revisions' => $_POST['basic-revisions'], 'features' => json_encode($_POST['basic-feature'] ?? []), ]; $standard = [ 'price' => $_POST['standard-price'], 'description' => $_POST['standard-description'], 'delivery_time' => $_POST['standard-delivery-time'], 'revisions' => $_POST['standard-revisions'], 'features' => json_encode($_POST['standard-feature'] ?? []), ]; $premium = [ 'price' => $_POST['premium-price'], 'description' => $_POST['premium-description'], 'delivery_time' => $_POST['premium-delivery-time'], 'revisions' => $_POST['premium-revisions'], 'features' => json_encode($_POST['premium-feature'] ?? []), ]; // Step 3: Description & FAQ $description = $_POST['serviceDescription']; $faq = json_encode($_POST['faq'] ?? []); // Step 4: Requirements $requirements = $_POST['orderDetails']; // Step 5: Gallery (images) $imageNames = []; if (!empty($_FILES['images']['name'][0])) { $uploadDir = 'uploads/'; foreach ($_FILES['images']['name'] as $key => $name) { $tmpName = $_FILES['images']['tmp_name'][$key]; $newName = time() . "_" . basename($name); move_uploaded_file($tmpName, $uploadDir . $newName); $imageNames[] = $newName; } } $images = json_encode($imageNames); // Generate slug for URL $slug = createSlug($serviceTitle); // Insert into database $stmt = $conn->prepare("INSERT INTO services (title, slug, category, sub_category, tags, basic, standard, premium, description, faq, requirements, images) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param("ssssssssssss", $serviceTitle, $slug, $category, $subCategory, $tags, json_encode($basic), json_encode($standard), json_encode($premium), $description, $faq, $requirements, $images ); if ($stmt->execute()) { header("Location: /service/" . $slug); exit(); } else { echo "Error: " . $stmt->error; } } ?>