PHP: 【php】 了解项目结构 Controller是控制层 View是视图层 从pulic’下面复制模板- 在view层创建admin文件夹,粘贴进去 在controller层
【php】
Controller是控制层
View是视图层
在view层创建admin文件夹,粘贴进去
在controller层创建Admin文件夹(注意大写),创建和模板相同名字的控制器。
如图所示
记得改路径
三步走:找到login.html 找到标签,添加{:token}
只需要在规则里面添加 token就可以了,名称都是一样的
'__token__' => ['token']
密码的验证
规则写在: $rule里面,验证语句写在 $message里面,都是protected
Db::name('admin')->where('username',$params['username'])->findOrEmpty();
$userInfo = Db::name('admin')->where('username',$params['username'])->findOrEmpty();
session 写在登录判断成功语句之后
如图所示这么写:
因为静态文件写在 User/login.html里面
所以要去 controller层里面的User.php里面
写一个和 login.html同名的函数
加入下面这句话
$this->assign("customer","admin001");
$username = Session::get("adminInfo")['username'];
$userAdmin = Session::get("adminInfo");$this->assign("userAdmin", $userAdmin['username']);
在show_list.html里面找到 搜索函数
修改url的跳转地址(自定义)
在admin.php里面创建 dataSearch_user函数(静态页面自定义的函数)
书写搜索DB操作
还是在上面这个function里面
$map[] = ['username','=',$searchParams['username']];$pageData = Db::name("admin")->where($map)->paginate($pageSize)->toArray();
return [ 'code'=>0, 'message'=>"请求成功", 'count'=>$pageData['total'],//总的数据 'data'=>$pageData['data'], 'page'=>Request::get("page"), 'limit'=>Request::get("limit"), 'query'=>$searchParams ];
数据渲染
定义渲染的页面在view视图层里面
找到function叫做table的地方
改变url的地址,地址随便写,最后要到admin里面去创建相同名称的function
'{:url("get_admin_list")}'
完成上面的四个,只是完成了静态页面的配置,还要去controller里面创建function
在admin里面写,设置function函数
蓝色框框里面的不要写
标号1-4照抄(实在不会去 F盘里面找planA,找 admin101里面的controller里面的admin,按ctrl+F打开搜索,)
结果如下图所示:
数据提交
在管理员修改页面找到监听提交的位置
添加ajax的代码,ajax
$.ajax({ //url: '/admin028/User/doLogin', url: '{:url("show_basic_confirm",["a"=>1,"b"=>2],".html",true)}', type: 'post', data: index, success: function (res) { console.log(res) if(res.code == 200) { layer.msg('success', function () { window.location.reload(); window.location.href = '{:url("admin/show_basic_info")}'; }) } else { // code fail renew delete update clear layer.alert(res.message) } }, error:function () { } })return false;
到 controller层去找show_basic_confirm
先判断用户名是否存在
假设要求用户名不能被修改,直接显示
如下图所示创建判断语句:
创建校验,如何引入校验去这篇文档查看 > 数据的校验
paramGe是一个新的函数在这个函数的上面写入
如下图所示:
代码直接复制:
$adminInfo = Db::name('admin')->where('username',Session::get("adminInfo")['username']); $program = [ [ 'admin_id' => $adminInfo['id'], 'create_ip' => Request::ip(), 'create_at' => date('Y-m-d H:i:s'), 'module' => Request::module(), 'controller' => Request::controller(), 'params' => JSON_encode(Request::param()), 'user_agent' => Request::header("user_agent"), ] ]; Db::name('admin_log')->insertAll($program);
在admin里面 deal_menager函数里面直接复制
$search = Db::name('admin')->where("username",$params['username'])->findOrEmpty(); $program = [ 'admin_id' => $search['id'], 'create_ip' => Request::ip(), 'create_at' => date('Y-m-d H:i:s'), 'module' => Request::module(), 'controller' => Request::controller(), 'params' => json_encode(Request::param()), 'user_agent' => Request::header("user_agent"), ]; Db::name('admin_log')->insert($program);
如下图所示:
public function deal_manager(){ $params = [ 'username' => Request::post('username'), 'passWord' => Request::post('password'), ]; $result = Db::name("admin")->where("username",$params['username'])->findOrEmpty(); $ManagerCheck=new ManagerCheck(); if(!$ManagerCheck->check($params)) { $res = [ "code"=>201, "message"=>"账号密码格式不正确", ]; return json($res); } if($result) { $res = [ "code"=>202, "message"=>"账号已经存在", ]; return json($res); } $data = [ 'username' => $params['username'], 'password' => password_hash($params['password'],PASSWORD_DEFAULT), 'create_at' => date('Y-m-d H:i:s'), 'update_at' => date('Y-m-d H:i:s'), 'last_ip' => Request::ip() ]; Db::name("admin")->insert($data); $res = [ "code"=>200, "message"=>"账号创建成功", "data"=>$data ]; $search = Db::name('admin')->where("username",$params['username'])->findOrEmpty(); $program = [ 'admin_id' => $search['id'], 'create_ip' => Request::ip(), 'create_at' => date('Y-m-d H:i:s'), 'module' => Request::module(), 'controller' => Request::controller(), 'params' => json_encode(Request::param()), 'user_agent' => Request::header("user_agent"), ]; Db::name('admin_log')->insert($program); return json($res); } public function add_manager(){ return $this->fetch(); }
操作方式:
在public目录下找到api文件夹
api文件夹下面找到init.json文件
init.json文件里面找到 “menuinfo”
在menuinfo模仿其他的格式写一个
如下图所示:
数据库在这里,创建上面的三个字段就可以
三个字段名 username , password , id
来源地址:https://blog.csdn.net/qq_50767141/article/details/130935764
--结束END--
本文标题: PHP实战
本文链接: https://lsjlt.com/news/387009.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0