exec($sql); } catch (PDOException $e) { echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]); exit; } $data = json_decode(file_get_contents('php://input'), true); if (!$data) { echo json_encode(['success' => false, 'error' => 'Invalid input']); exit; } $voterName = $data['voter_name'] ?? ''; $category = $data['category'] ?? ''; $website_numbers_str = $data['website_numbers'] ?? ''; $website_numbers = !empty($website_numbers_str) ? array_map('trim', explode(',', $website_numbers_str)) : []; if (empty($voterName) || empty($category) || !in_array($category, ['beauty', 'funny'])) { echo json_encode(['success' => false, 'error' => 'Invalid data provided.']); exit; } try { $pdo = db(); $stmt = $pdo->prepare("INSERT INTO votes (voter_name, category, website_number) VALUES (:voter_name, :category, :website_number)"); foreach ($website_numbers as $number) { if ($number >= 1 && $number <= 30) { $stmt->execute([ ':voter_name' => $voterName, ':category' => $category, ':website_number' => $number ]); } } echo json_encode(['success' => true]); } catch (PDOException $e) { echo json_encode(['success' => false, 'error' => 'Database error: ' . $e->getMessage()]); }