🔐 Admin Login

$out"; } // --- 2. SQL AKTIONEN --- $msg = ""; $error = ""; if (isset($_POST['save_game'])) { $id = (int)($_POST['id'] ?? 0); $r_id = (int)$_POST['game_reihe_id']; $t_id = ($_POST['game_typ_id'] == '0') ? null : (int)$_POST['game_typ_id']; $l_id = ($_POST['game_level_id'] == '0') ? null : (int)$_POST['game_level_id']; $p_id = (isset($_POST['parent_id']) && $_POST['parent_id'] != '0') ? (int)$_POST['parent_id'] : null; $eanClean = str_replace(' ', '', (string)($_POST['ean'] ?? '')); $ean = ($eanClean === '') ? null : $eanClean; $urlInput = trim($_POST['url']); try { $pdo->beginTransaction(); if ($id > 0) { $stmt = $pdo->prepare("UPDATE spiele SET game_reihe_id=?, titel=?, game_typ_id=?, game_level_id=?, ean=?, parent_id=? WHERE id=?"); $stmt->execute([$r_id, $_POST['titel'], $t_id, $l_id, $ean, $p_id, $id]); $spiel_id = $id; } else { $stmt = $pdo->prepare("INSERT INTO spiele (game_reihe_id, titel, game_typ_id, game_level_id, ean, parent_id) VALUES (?,?,?,?,?,?)"); $stmt->execute([$r_id, $_POST['titel'], $t_id, $l_id, $ean, $p_id]); $spiel_id = $pdo->lastInsertId(); } if (!empty($urlInput) && strpos($urlInput, 'http') === 0) { $ext = pathinfo(parse_url($urlInput, PHP_URL_PATH), PATHINFO_EXTENSION) ?: 'jpg'; $fileName = (!empty($eanClean) ? $eanClean : "game_" . $spiel_id) . "." . $ext; if ($imgData = @file_get_contents($urlInput)) { if (file_put_contents(IMG_PATH . $fileName, $imgData)) { $pdo->prepare("UPDATE spiele SET bild_url=? WHERE id=?")->execute([$fileName, $spiel_id]); } } } elseif (!empty($urlInput)) { $pdo->prepare("UPDATE spiele SET bild_url=? WHERE id=?")->execute([$urlInput, $spiel_id]); } $pdo->commit(); $msg = "Gespeichert!"; } catch (Exception $e) { $pdo->rollBack(); $error = $e->getMessage(); } } // STAMMDATEN ADD LOGIK if (isset($_POST['add_reihe'])) { $pdo->prepare("INSERT INTO game_reihe (name) VALUES (?)")->execute([$_POST['name']]); $msg="Reihe hinzugefügt!"; } if (isset($_POST['add_typ'])) { $pdo->prepare("INSERT INTO game_typ (game_reihe_id, bezeichnung) VALUES (?,?)")->execute([$_POST['r_id'], $_POST['bez']]); $msg="Typ hinzugefügt!"; } if (isset($_POST['add_level'])) { $pdo->prepare("INSERT INTO game_level (game_reihe_id, bezeichnung) VALUES (?,?)")->execute([$_POST['r_id'], $_POST['bez']]); $msg="Level hinzugefügt!"; } if (isset($_POST['add_spieler'])) { $pdo->prepare("INSERT INTO spieler (name) VALUES (?)")->execute([$_POST['name']]); $msg="Spieler hinzugefügt!"; } // LÖSCHEN if (isset($_GET['del_t'], $_GET['del_id'])) { if (in_array($_GET['del_t'], ['spiele', 'spieler', 'game_reihe', 'game_typ', 'game_level'])) { $pdo->prepare("DELETE FROM `".$_GET['del_t']."` WHERE id=?")->execute([(int)$_GET['del_id']]); header("Location: admin.php"); exit; } } // DATEN LADEN $reihen = $pdo->query("SELECT * FROM game_reihe ORDER BY name")->fetchAll(); $typen = $pdo->query("SELECT t.*, r.name as r_name FROM game_typ t JOIN game_reihe r ON t.game_reihe_id = r.id ORDER BY r.name, t.bezeichnung")->fetchAll(); $levels = $pdo->query("SELECT l.*, r.name as r_name FROM game_level l JOIN game_reihe r ON l.game_reihe_id = r.id ORDER BY r.name, l.bezeichnung")->fetchAll(); $spieler = $pdo->query("SELECT * FROM spieler ORDER BY name")->fetchAll(); $spiele = $pdo->query("SELECT s.*, r.name as r_name, p.titel as parent_titel FROM spiele s LEFT JOIN game_reihe r ON s.game_reihe_id = r.id LEFT JOIN spiele p ON s.parent_id = p.id ORDER BY s.id DESC")->fetchAll(); ?> Admin Dashboard

🛠 Admin Panel

Zum Katalog Logout
BildReiheTitel / Parent-BoxTyp / LevelEAN / BildpfadAktion
🗑

Spieler Profile

Löschen

1. Reihen

2. Typen

3. Level / Sterne