创新实训(六):用户管理之权限管理

权限管理中,本系统分成了二级权限,有普通用户和超级用户,外加一个manage的形式,管理员拥有所有权限,可以设置超级用户和普通用户,同时可以封禁用户,超级用户可以封禁,也可以管理比赛的相关内容。
一.项目展示:
普通用户只有查看和报名的权限

超级用户可以添加比赛,管理博客,管理用户


二.代码:
1.manage创建并配置一个表单,用于更改用户组:

php
$user_form = new UOJForm('user');
$user_form->addInput('username', 'text', '用户名', '',
    function ($username) {
        if (!validateUsername($username)) {
            return '用户名不合法';
        }
        if (!queryUser($username)) {
            return '用户不存在';
        }
        return '';
    },
    null
);
$options = array(
    'banneduser' => '设为封禁用户',
    'normaluser' => '设为普通用户',
    'superuser' => '设为超级用户'
);
$user_form->addSelect('op-type', $options, '操作类型', '');
$user_form->handle = function() {
    global $user_form;
    
    $username = $_POST['username'];
    switch ($_POST['op-type']) {
        case 'banneduser':
            DB::update("update user_info set usergroup = 'B' where username = '{$username}'");
            break;
        case 'normaluser':
            DB::update("update user_info set usergroup = 'U' where username = '{$username}'");
            break;
        case 'superuser':
            DB::update("update user_info set usergroup = 'S' where username = '{$username}'");
            break;
    }
};
$user_form->runAtServer();

创建一个表单user_form,添加输入字段用于输入用户名。
添加一个下拉菜单选择操作类型:封禁用户、普通用户、超级用户。
表单提交后,根据选择的操作类型更新数据库中对应用户的用户组。

posted @   ighshssjjsjs  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示