setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "🧪 Test der Admin-Checkbox Funktionalität\n"; echo "========================================\n\n"; // 1. Prüfe is_admin Spalte $stmt = $pdo->query("PRAGMA table_info(users)"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); $hasAdminColumn = false; foreach ($columns as $column) { if ($column['name'] === 'is_admin') { $hasAdminColumn = true; break; } } if ($hasAdminColumn) { echo "✅ is_admin Spalte existiert\n"; } else { echo "❌ is_admin Spalte fehlt - führen Sie fix-admin-role.php aus\n"; exit; } // 2. Zeige alle User mit Admin-Status echo "\n📋 User mit Admin-Status:\n"; $stmt = $pdo->query("SELECT id, name, email, is_admin FROM users ORDER BY is_admin DESC, name"); $users = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($users)) { echo "❌ Keine User gefunden\n"; } else { foreach ($users as $user) { $adminStatus = $user['is_admin'] ? '👑 Admin' : '👤 User'; $checkboxState = $user['is_admin'] ? '☑️ Aktiviert' : '☐ Deaktiviert'; echo "- {$user['name']} ({$user['email']}) - {$adminStatus} - {$checkboxState}\n"; } } // 3. Test: Mache einen User zum Admin echo "\n🧪 Test: Mache einen User zum Admin...\n"; // Finde einen User, der noch kein Admin ist $stmt = $pdo->prepare("SELECT id, name, email FROM users WHERE is_admin = 0 LIMIT 1"); $stmt->execute(); $testUser = $stmt->fetch(PDO::FETCH_ASSOC); if ($testUser) { echo "📝 Teste mit User: {$testUser['name']} ({$testUser['email']})\n"; // Mache User zum Admin $stmt = $pdo->prepare("UPDATE users SET is_admin = 1 WHERE id = ?"); $stmt->execute([$testUser['id']]); echo "✅ User zum Admin gemacht\n"; // Prüfe Änderung $stmt = $pdo->prepare("SELECT is_admin FROM users WHERE id = ?"); $stmt->execute([$testUser['id']]); $result = $stmt->fetch(PDO::FETCH_ASSOC); if ($result['is_admin']) { echo "✅ Admin-Status korrekt gesetzt\n"; } else { echo "❌ Admin-Status nicht korrekt gesetzt\n"; } // Mache User wieder zurück $stmt = $pdo->prepare("UPDATE users SET is_admin = 0 WHERE id = ?"); $stmt->execute([$testUser['id']]); echo "🔄 User-Status zurückgesetzt\n"; } else { echo "ℹ️ Alle User sind bereits Admins\n"; } echo "\n✅ Admin-Checkbox Test erfolgreich!\n"; echo "🔗 Testen Sie jetzt: https://neonail.vogt.de.com/admin/users\n"; } catch (Exception $e) { echo "❌ Fehler: " . $e->getMessage() . "\n"; } ?>