[thinkPHP5项目实战_21]管理员添加、删除和修改

来源:互联网 发布:淘宝商家进货渠道 编辑:程序博客网 时间:2024/05/17 22:11

与之前的业务一样,管理员的添加和删除代码如下:

1.新建admin的控制器、视图和验证器文件:


2.控制器代码:

<?phpnamespace app\admin\controller;use think\Controller;class Admin extends Controller{    public function lists()    {        $adminres = \think\Db::name('admin')->paginate(3);        $this->assign('adminres',$adminres);        return $this->fetch();    }    public function add()    {    if(request()->isPost()){            $data = [                'username'=>input('username'),                'password'=>input('password'),            ];            $validate = \think\Loader::validate('Admin');            if($validate->check($data)){                $data['password'] = md5($data['password']);                $res = \think\Db::name('admin')->insert($data);                if($res){                    return $this->success('管理员成功','lists');                }else{                    return $this->error('管理员失败');                }            }else{                //验证失败输出提示信息                return $this->error($validate->getError());            }    return;    }        return $this->fetch();    }    public function del()    {        $id=input('id');        if($id==1){            return $this->error('初始管理员不能删除!');        }else{            if(db('admin')->delete($id)){                return $this->success('删除管理员成功','lists');            }else{                return $this->error('删除管理员失败');            }        }    }    public function edit()    {        //获取修改的信息        $id=input('id');        $admins = db('admin')->find($id);        $this->assign('admins',$admins);//模板赋值        //修改后提交        if(request()->isPost()){            $data=[                'id'=>input('id'),                'username'=>input('username'),                'password'=>input('password'),            ];            $validate = \think\Loader::validate('Admin');            if($validate->check($data)){                $data['password'] = md5($data['password']);                $res = \think\Db::name('admin')->update($data);                if($res){                    return $this->success('修改管理员成功','lists');                }else{                    return $this->error('修改管理员失败');                }            }else{                return $this->error($validate->getError());            }        }        return $this->fetch();    }}
包含获取管理员列表、修改管理员和删除等方法。

另外,保留了一个管理员不能删除和对管理员的密码进行了md5加密,由于md5加密空后不为空,所以先进行空验证再加密

3.验证器代码

<?phpnamespace app\admin\validate;use think\Validate;class Admin extends Validate{    //验证规则    protected $rule = [        'username'  =>  'require|max:25|unique:admin',        'password' => 'require|min:5',    ];    //验证提示    protected $message  =   [        'username.unique' => '管理员名称不能重复',         'username.max' => '管理员名称不能大于5个字符',        'username.require' => '管理员名称必须',        'password.require' => '管理员密码必须',        'password.min' => '管理员密码不能少于5位',    ];}

4.视图代码

4.1.添加管理员视图:

<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">    <table class="insert-tab" width="100%">        <tbody>            <tr>                <th width="10%">管理员名称:</th>                <td>                    <input class="common-text required" id="username" name="username" size="50" value="" type="text">                </td>            </tr>            <tr>                <th>密码:</th>                <td>                    <input class="common-text" name="password" size="50" value="" type="password">                </td>            </tr>            <tr>                <th></th>                <td>                    <input class="btn btn-primary btn6 mr10" value="提交" type="submit">                    <input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">                </td>            </tr>        </tbody>    </table></form>
4.2.管理员列表代码

<table class="table table-striped">    <thead>        <tr>            <th>ID</th>            <th>管理员名称</th>            <th>操作</th>        </tr>    </thead>    <tbody>        {volist name="adminres" id="vo"}        <tr>            <td>{$vo.id}</td>            <td><a href="#" title="{$vo.username}">{$vo.username}</a></td>            <td>                <a href="{:url('edit',array('id'=>$vo.id))}">修改</a> {if condition="$vo.id neq 1"}                <a href="{:url('del',array('id'=>$vo.id))}" onclick="return confirm('确定删除该管理员?')">删除</a> {/if}            </td>        </tr>        {/volist}    </tbody></table><div>{$adminres->render()}</div>
4.3.管理员编辑代码:

<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">    <input type="hidden" name="id" value="{$admins.id}">    <table class="insert-tab" width="100%">        <tbody>            <tr>                <th width="10%">管理员名称:</th>                <td>                    <input class="common-text required" id="title" name="username" size="50" value="{$admins.username}" type="text">                </td>            </tr>            <tr>                <th>密码:</th>                <td>                    <input class="common-text" name="password" size="50" value="" type="password">                </td>            </tr>            <tr>                <th></th>                <td>                    <input class="btn btn-primary btn6 mr10" value="提交" type="submit">                    <input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">                </td>            </tr>        </tbody>    </table></form>

5.数据库管理员字段结构:


另外,需要在侧边栏公共模板添加管理员管理导航。

阅读全文
0 0
原创粉丝点击