返回顶部
  • 861
分享到

PHP实战

php数学建模开发语言 2023-08-31 20:08:21 861人浏览 独家记忆
摘要

PHP: 【php】 了解项目结构 Controller是控制层 View是视图层 从pulic’下面复制模板- 在view层创建admin文件夹,粘贴进去 在controller层

PHP

php


了解项目结构

  1. Controller是控制层

  2. View是视图层

    • 从pulic’下面复制模板-
  • 在view层创建admin文件夹,粘贴进去

  • 在controller层创建Admin文件夹(注意大写),创建和模板相同名字的控制器。

如图所示


登录:

记得改路径

令牌使用

  • 三步走:找到login.html 找到标签,添加{:token}

  • 只需要在规则里面添加 token就可以了,名称都是一样的

'__token__' => ['token']

数据的验证

  • 在Application文件下创建和view同级的文件夹 validate

密码的验证

  • 注意1,2,3三个地方:

规则写在: $rule里面,验证语句写在 $message里面,都是protected

DB的操作

  • where
Db::name('admin')->where('username',$params['username'])->findOrEmpty();
  • 判断用户名是否一致(用在登录验证)
$userInfo = Db::name('admin')->where('username',$params['username'])->findOrEmpty();

Session的操作

session 写在登录判断成功语句之后

登录页面显示admin101

  • 如图所示这么写:

  • 因为静态文件写在 User/login.html里面

  • 所以要去 controller层里面的User.php里面

  • 写一个和 login.html同名的函数

  • 加入下面这句话

$this->assign("customer","admin001");

  • get
$username = Session::get("adminInfo")['username'];
  • set
$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        ];

访问页面

数据渲染

  • 四步走
  1. 定义渲染的页面在view视图层里面

  2. 找到function叫做table的地方

  3. 改变url的地址,地址随便写,最后要到admin里面去创建相同名称的function

'{:url("get_admin_list")}'
  1. 在 cols里面布局你要的数据

完成上面的四个,只是完成了静态页面的配置,还要去controller里面创建function

  • controller层
  1. 在admin里面写,设置function函数

  2. 蓝色框框里面的不要写

  3. 标号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模仿其他的格式写一个

如下图所示:


数据库创建字段

  • 数据库实在不会写没有关系,上面那些代码要写进去,模板复制清楚
  1. username , password , id 三个就可以
  • 数据库在这里,创建上面的三个字段就可以

  • 三个字段名 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

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作