[thinkPHP5项目实战_21]管理员添加、删除和修改
与之前的业务一样,管理员的添加和删除代码如下:
1.新建admin的控制器、视图和验证器文件:
2.控制器代码:
<?php namespace appadmincontroller; use thinkController; class Admin extends Controller { public function lists() { $adminres = hinkDb::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 = hinkLoader::validate("Admin"); if($validate->check($data)){ $data["password"] = md5($data["password"]); $res = hinkDb::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 = hinkLoader::validate("Admin"); if($validate->check($data)){ $data["password"] = md5($data["password"]); $res = hinkDb::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.验证器代码
<?php namespace appadminvalidate; use thinkValidate; 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.数据库管理员字段结构:
另外,需要在侧边栏公共模板添加管理员管理导航。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。