怎么在ThinkPHP6.0中利用验证规则规范实现一个登陆功能

  介绍

今天就跟大家聊聊有关怎么在ThinkPHP6.0中利用验证规则规范实现一个登陆功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。


M:模型模型层(与数据库交互的持久层)
V:观点视图层(前端html, css, javascript)
C:控制器控制器层

这里可以再单独封装一层<强> <强> <强>常见 公共层,用于处理公用业务,或者是封装统一返回给前端的JSON数据格式。
<>强控制器层强的正确写法是只接受参数,然后交给模型层去处理业务,

登陆思路

控制器层接受用户名、密码参数,交给模型层处理,模型层先将接受的用户名、密码交给我们的自定义验证器去验证,验证通过后返回成功登陆标志,这个标志可以任意,登陆成功就返回1,否则返回错误消息,返回层给控制器,控制器层简单判断这个标志后,就传递JSON数据给前端,前端利用控制器层传递过去的JSON数据中的url地址进行跳转即可

前端发起请求

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   ,& lt; meta  charset=癠TF-8"比;   ,& lt; meta  name=皏iewport",内容=翱矶?设备宽度,初始=1.0;“比;   ,& lt; link  rel=皊tylesheet", href=癶ttps://cdn.jsdelivr.net/semantic-ui/2.2.10/semantic.min.css", rel=癳xternal  nofollow",在   ,& lt; link  rel=皊tylesheet",类型=拔谋?css", href=?静态/css/me.css", rel=癳xternal  nofollow",在   ,& lt; script  src=?静态/js/jquery-3.5.1.min.js"祝辞& lt;/script>   ,& lt; script  src=癶ttps://cdn.jsdelivr.net/semantic-ui/2.2.10/semantic.min.js"祝辞& lt;/script>   ,& lt; title>博客管理登陆& lt;/title>   & lt;/head>   & lt; body>   & lt; input  id=皍sername",类型=皌ext", name=皍sername",占位符=暗锹接没氨?   & lt; input  id=皃assword",类型=皃assword", name=皃assword",占位符=懊苈搿氨?   & lt; script>   ,$ (& # 39;# loginBtn& # 39;) .click (function  (), {   let 才能;username =,美元(& # 39;#用户名# 39;).val ();   let 才能;password =,美元(& # 39;#密码# 39;).val ();   . ajax({美元才能   ,,url:“{: url (& # 39; admin.login/登录# 39;)}“,   ,,,类型:& # 39;文章# 39;   ,,,数据:{“username":用户名、“password":密码},   ,,,数据类型:& # 39;json # 39;   ,,,成功:function (数据),{   ,,,let  realData =, JSON.stringify(数据)   ,,,data=eval (“(“+ realData +“)“);//通过eval将()中的字符串以json形式执行   ,,,如果(data.code  !=, 1), {   ,,,,警报(data.msg);   ,,,},{else    ,,,,window.location.href =data.data   ,,,}   ,,},   ,,,错误:function  (e), {   ,,,window.location.href=& # 39;/错误/to500Page& # 39;   ,,}   })才能   ,})   & lt;/script>   & lt;/body>   & lt;/html>

常见。php

& lt; php ?//,应用公共文件//显示方法封装统一返回给前端的JSON数据格式   function 显示(代码,美元,美元msg =, & # 39;错误# 39;,,data 美元;=,[],httpStatus 美元;=,200){   ,result 美元;=,(   ,,“code"=祝辞,美元的代码,   ,,“msg"=祝辞,味精、美元   “data"才能,=在$ data   ,);   ,return  json(因此,httpStatus美元);   }

LoginController。php

& lt; php ?         namespace 控制器应用\ \管理;      use 应用\ BaseController;   use 认为\外观\会话;   use 认为\请求;   use  \ app \ \用户模型;      class  Login  extends  BaseController   {   美元,protected 请求;      ,public  function 指数(){   return 才能视图(& # 39;管理/登录# 39;);   ,}      ,public  function  toAdminIndex () {   return 才能视图(& # 39;管理/指数# 39;);   ,}      ,public  function 注销(){   会话:才能删除(& # 39;用户# 39;);   return 才能视图(& # 39;管理/登录# 39;);   ,}      ,public  function  __construct (Request 美元请求){   这个美元才能→request =, $请求;   这→美元才能请求→头(& # 39;- type: text/html;, charset=utf - 8 # 39;);   ,}      ,public  function 登录(){   时间=美元才能user  new 用户();=美元才能username  $ this→→请求参数(& # 39;用户名# 39;);=美元才能password  $ this→→请求参数(& # 39;密码# 39;);   美元才能data =, (   ,,& # 39;用户名# 39;,=祝辞,美元用户名、   ,,& # 39;密码# 39;,=祝辞,密码,美元   ,才能& # 39;dto # 39;,,=祝辞,[& # 39;用户名# 39;=祝辞;用户名、美元& # 39;密码# 39;=祝辞;$密码],,//,dto 为一个数组类型   )才能;   时间=美元才能flag  $ user→登录(元数据),,//,flag 美元;!=,1,则返回错误消息   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在ThinkPHP6.0中利用验证规则规范实现一个登陆功能