setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $error = ''; $success = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['action']) && isset($_POST['username'])) { $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); if ($_POST['action'] === 'ban') { $stmt = $db->prepare('UPDATE users SET is_blocked = 1 WHERE username = ?'); $stmt->execute([$username]); $success = "User $username has been banned"; } elseif ($_POST['action'] === 'unban') { $stmt = $db->prepare('UPDATE users SET is_blocked = 0 WHERE username = ?'); $stmt->execute([$username]); $success = "User $username has been unbanned"; } elseif ($_POST['action'] === 'preventive_ban') { if (!preg_match('/^[a-zA-Z0-9_]+$/', $username)) { $error = "Invalid username format"; } else { $stmt = $db->prepare('INSERT INTO banned_usernames (username) VALUES (?)'); try { $stmt->execute([$username]); $success = "Username $username has been preventively banned"; } catch (PDOException $e) { $error = "Username already banned"; } } } elseif ($_POST['action'] === 'preventive_unban') { $stmt = $db->prepare('DELETE FROM banned_usernames WHERE username = ?'); $stmt->execute([$username]); $success = "Username $username has been preventively unbanned"; } } } $stmt = $db->query('SELECT username, is_blocked, is_moderator, created_at FROM users ORDER BY created_at DESC'); $users = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> Text0Nly - Admin Panel

Admin Panel

Preventive Ban

Preventively Banned Usernames

query('SELECT username, created_at FROM banned_usernames ORDER BY created_at DESC'); $banned_usernames = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($banned_usernames as $banned): ?>
Username Banned At Actions

Users

Username Status Created Actions
Banned Moderator Active