prepare('INSERT INTO admin_users (username, password_hash, display_name, email) VALUES (?, ?, ?, ?)'); $stmt->execute([$username, password_hash($password, PASSWORD_DEFAULT), $name, trim((string) ($_POST['email'] ?? '')) ?: null]); audit('create', 'admin_users', (int) db()->lastInsertId()); flash('success', '管理者已新增。'); redirect('admins.php'); } catch (PDOException $e) { $error = '帳號已存在或資料格式不正確。'; } } } elseif ($action === 'toggle') { $id = (int) ($_POST['id'] ?? 0); if ($id === (int) $_SESSION['admin_id']) $error = '不能停用目前登入的帳號。'; else { db()->prepare('UPDATE admin_users SET is_active = 1 - is_active WHERE id = ?')->execute([$id]); audit('toggle', 'admin_users', $id); flash('success', '帳號狀態已更新。'); redirect('admins.php'); } } } $users = db()->query('SELECT id, username, display_name, email, is_active, last_login_at, created_at FROM admin_users ORDER BY id')->fetchAll(); render_header('管理者帳號', 'admins'); ?>

新增管理者

密碼使用不可逆雜湊儲存

帳號清單

停用帳號後將無法登入

帳號顯示名稱信箱最後登入狀態操作