setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die(„Błąd połączenia z bazą: ” . $e->getMessage()); } // ==================== HASŁO DO PANELU ==================== $admin_password = „bbmb2025”; // 🔐 ZMIEŃ TO HASŁO! // Sprawdź logowanie if (isset($_POST[„login”])) { if ($_POST[„password”] === $admin_password) { $_SESSION[„admin_logged”] = true; } else { $error = „Nieprawidłowe hasło!”; } } // Wylogowanie if (isset($_GET[„logout”])) { session_destroy(); header(„Location: admin-panel.php”); exit; } // ==================== EKRAN LOGOWANIA ==================== if (!isset($_SESSION[„admin_logged”])) { ?> Logowanie – Panel BBnMB

🔐 Panel BBnMB Studio

’.$error.’
’; ?>
prepare(„INSERT INTO portfolio (title, description, image_url, project_url, category, order_index) VALUES (?, ?, ?, ?, ?, ?)”); $stmt->execute([ $_POST[„title”], $_POST[„description”], $_POST[„image_url”], $_POST[„project_url”], $_POST[„category”], $_POST[„order_index”] ]); $success = „✅ Projekt dodany!”; } // EDYCJA if (isset($_POST[„edit_project”])) { $stmt = $pdo->prepare(„UPDATE portfolio SET title=?, description=?, image_url=?, project_url=?, category=?, order_index=?, status=? WHERE id=?”); $stmt->execute([ $_POST[„title”], $_POST[„description”], $_POST[„image_url”], $_POST[„project_url”], $_POST[„category”], $_POST[„order_index”], $_POST[„status”], $_POST[„id”] ]); $success = „✅ Projekt zaktualizowany!”; } // USUWANIE if (isset($_GET[„delete”])) { $stmt = $pdo->prepare(„DELETE FROM portfolio WHERE id = ?”); $stmt->execute([$_GET[„delete”]]); $success = „✅ Projekt usunięty!”; } // Pobierz wszystkie projekty $projects = $pdo->query(„SELECT * FROM portfolio ORDER BY order_index ASC, created_at DESC”)->fetchAll(); ?> Panel BBnMB Studio – Zarządzanie realizacjami

Panel BBnMB Studio

Wyloguj

Dodaj realizację

Lista realizacji

ID Tytuł Kategoria Status Akcje
Anuluj