thinkPHP5 更改管理员账号密码 删除管理员
controller文件内Admin.php
<?php namespace appadmincontroller; use thinkController; use appadminmodelAdmin as AdminModel; //使用分页类 取别名解决类名冲突 class Admin extends Controller{ public function lst(){ /* 分页开始 */ $list = AdminModel::paginate(3); $this -> assign("list",$list); /* 结束 */ return $this->fetch("lst"); } public function add(){ //判断页面是否提交 if(request()->isPost()){ //打印接收到的参数 //dump(input("post.")); $data = [ //接受传递的参数 "username" => input("username"), "password" => md5(input("password")), ]; /*验证开始*/ $validate = hinkLoader::validate("Admin"); /* scene("add") 在add页面添加验证应用 */ if(!$validate -> scene("add")-> check($data)){ /* 验证失败打印 */ $this -> error($validate->getError()); die; } /*结束*/ /* Db("表名") 数据库助手函数*/ if(Db("admin") -> insert($data)){ //添加数据 return $this->success("添加成功","lst"); //成功后跳转 lst 界面 }else{ return $this->error("添加管理员失败"); } return; } return $this->fetch(); } /* 管理员修改账号或密码 */ public function edit(){ $id = input("id");//接受url传递的参数 $admins = db("admin")->find($id);//查询数据库 if(request()->isPost()){ $data = [ "id"=>input("id"),//接收到的主键 "username"=>input("username"), ]; /* 如果接收到参数就修改,没有接受到参数就不修改(获取原来的值) */ if(input("password")){ $data["password"] = md5(input("password")); }else{ $data["password"] = $admins["password"]; } /* 验证数据 */ $validate = hinkLoader::validate("Admin"); if(!$validate -> scene("edit")-> check($data)){ /* 验证失败打印 */ $this -> error($validate->getError()); die; } /* 修改成功跳转 */ if(db("admin")->update($data)){ $this->success("修改管理员成功","lst"); }else{ $this->error("修改管理员失败"); } return; } $this->assign("admins",$admins);//把查询的值分配到页面当中 return $this->fetch(); } /* 管理员删除 */ public function del(){ $id = input("id");//接收页面传递的id if ($id != 1) { //如果id的值是 1 第一个录入系统的,初始化的管理员不能删除 /* 根据id删除数据库数据 */ if (db("admin") -> delete(input("id"))){ $this->success("删除管理员成功","lst"); }else{ $this->error("删除管理员失败"); } }else{ $this->error("初始化管理员不能删除(第一个管理员)"); } } }
model文件内Admin.php
<?php namespace appadminmodel; use thinkModel; class Admin extends Model{ }
validate文件内Admin.php
<?php namespace appadminvalidate; use thinkValidate; class Admin extends Validate{ /* 数据验证开始 */ protected $rule = [ "username" => "require|min:6", "password" => "require|max:32" ]; protected $message = [ "username.require" => "名称必须", "username.min" => "名称最少6个字符", "password.require" => "密码必须", "password.max" => "密码最多不能超过25个字符", ]; /* 结束 */ /* 添加场景验证 */ protected $scene = [ /* * "add" => ["username"=>"require","password"], * 在add页面,只验证 username的require(必填),对别的不验证 */ /* 在add页面添加验证用户名 username 密码password*/ "add" => ["username","password"], /* edit页面只需要验证用户名不为空 */ "edit" => ["username"=>"require"], ]; } ?>
view文件内lst.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>后台</title> <style type="text/css"> table{ width: 500px; margin: auto; } </style> </head> <body> <div>我是lst</div> <a href="{:url("admin/add")}">跳转add</a> <table border="1" cellspacing="" cellpadding=""> <tr> <th>ID</th> <th>用户名</th> <th>操作</th> </tr> <!-- 循环数据 --> {volist name="list" id="vo"} <tr> <td>{$vo.id}</td> <td>{$vo.username}</td> <td> <!--跳转管理界面并在url后添加id参数--> <a href="{:url("admin/edit",array("id"=>$vo["id"]))}">编辑</a> <!-- thinkphp5 内置判断语句 初始化的管理员(第一位id的值为1) 删除按钮不显示 --> {if condition="$vo["id"] neq 1"} <a href="{:url("admin/del",array("id"=>$vo["id"]))}">删除</a> {/if} </td> </tr> {/volist} </table> <!-- 分页器 --> {$list ->render()} </body> </html>
view文件内edit.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>后台</title> <style type="text/css"> h1{ color: #f56868; text-align: center; } </style> </head> <body> <h1>我是edit 修改页面</h1> <!-- action="" 值如果为空 提交到调用方法 --> <form role="form" action="" method="post"> <!--向数据库发送主键--> <input type="hidden" id="id" value="{$admins.id}" /> 管理员用户名:<input type="text" name="username" value="{$admins.username}" /><br /><br /> 管理员密码:<input type="text" name="password" /> <input type="submit" value="提交"/> </form> </body> </html>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。