午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸

ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸

熱門標簽:電銷機器人便宜的有嗎 地圖標注視頻廣告入駐 ai電話機器人加盟代理 OMG地圖標注app 招標自動語音外呼系統 黔江400電話如何辦理 400電話鄭州申請 gps 地圖標注軟件 中原區電話機器人價格

1.寫在前面

這學期因為各種課內考試,競賽活動,項目,(和女朋友約會 )🤭等消耗了大量時間,博客沒怎么更新,上次更新博客還是2個月之前

實現效果如圖

2.ThinkPHP中的MVC

M: Model 模型層(與數據庫交互的持久層)
V: View 視圖層(前端html,css,js)
C: Controller 控制器層

這里可以再單獨封裝一層 common 公共層,用于處理公用業務,或者是封裝統一返回給前端的JSON數據格式。
控制器層 的正確寫法是只接受參數,然后交給Model層去處理業務;

3.登陸思路

controller層接受username,password參數,交給Model層處理,Model層先將接受的username,password交給我們的自定義驗證器去驗證,驗證通過后返回成功登陸標志, 這個標志可以任意,登陸成功就返回1,否則返回錯誤消息,返回給 controller 層,controller 層簡單判斷這個標志后,就傳遞JSON數據給前端,前端利用 controller 層傳遞過去的JSON數據中的 url 地址進行跳轉即可

4.前端發起請求

!DOCTYPE html>
html lang="en">
head>
 meta charset="UTF-8">
 meta name="viewport" content="width=device-width, initial-scale=1.0;">
 link rel="stylesheet"  rel="external nofollow" >
 link rel="stylesheet" type="text/css" href="/static/css/me.css" rel="external nofollow" >
 script src="/static/js/jquery-3.5.1.min.js">/script>
 script src="https://cdn.jsdelivr.net/semantic-ui/2.2.10/semantic.min.js">/script>
 title>博客管理登陸/title>
/head>
body>
input id="username" type="text" name="username" placeholder="登陸用戶名">
input id="password" type="password" name="password" placeholder="密碼">
script>
 $('#loginBtn').click(function () {
  let username = $('#username').val();
  let password = $('#password').val();
  $.ajax({
   url:"{:url('admin.login/login')}",
   type: 'post',
   data: {"username":username,"password":password},
   dataType: 'JSON',
   success: function (data) {
    let realData = JSON.stringify(data)
    data=eval("("+realData+")");//通過eval將()中的字符串以json形式執行
    if(data.code != 1) {
     alert(data.msg);
    } else {
    	window.location.href = data.data
    }
   },
   error: function (e) {
    window.location.href='/error/to500Page'
   }
  })
 })
/script>
/body>
/html>

5.Common.php

?php
// 應用公共文件
//show方法封裝統一返回給前端的JSON數據格式
function show($code, $msg = 'error', $data = [],$httpStatus = 200){
 $result = [
  "code" => $code,
  "msg" => $msg,
  "data" => $data
 ];
 return json($result,$httpStatus);
}

6.LoginController.php

?php


namespace app\controller\admin;

use app\BaseController;
use think\facade\Session;
use think\Request;
use \app\model\User;

class Login extends BaseController
{
 protected $request;

 public function index(){
  return view('admin/login');
 }

 public function toAdminIndex(){
  return view('admin/index');
 }

 public function logout(){
  Session::delete('user');
  return view('admin/login');
 }

 public function __construct(Request $request){
  $this->request = $request;
  $this->request->header('Content-Type:text/html; charset=utf-8');
 }

 public function login(){
  $user = new User();
  $username = $this->request->param('username');
  $password = $this->request->param('password');
  $data = [
   'username' => $username,
   'password' => $password,
   'dto'  => ['username'=>$username,'password'=>$password], // dto 為一個數組類型
  ];
  $flag = $user->login($data); // $flag != 1 則返回錯誤消息
  if($flag != 1){
  //show 方法在common.php 中,封裝統一返回前端數據格式{"code":-1,"msg":$flag,"data":null}
   return show(-1,$flag,null); 
  }
  //能到這一步說明驗證通過,將用戶信息存入 Session 中存儲起來
  Session::set('user',$user->getUserByUserName($username));
  // url: '/admin.login/toAdminIndex'
  return show(1,'登陸成功!','/admin.login/toAdminIndex');
 }

}

7.UserModel.php

?php


namespace app\model;


use think\exception\ValidateException;
use think\facade\Db;
use think\Model;

class User extends Model
{

 protected $table = 'user';

 public function getUserByUserName($username){
  return Db::table('user')->where('username','=',$username)->find();
 }

 public function login($data){
  try{
  //Login 是登陸驗證器
   validate(\app\validate\Login::class)->check($data);
  } catch (ValidateException $e) {
  // 驗證不通過則返回錯誤消息
  // 錯誤消息比如: "用戶名不能為空!","用戶名或密碼錯誤!"等
   return $e->getError();
  }
  	//驗證通過返回1,也可以是其他數字,任意,只要和 controller層對接好就行
  return 1;
 }

}

8.LoginValidate.php

?php
declare (strict_types = 1);

namespace app\validate;

use app\model\User;
use think\Validate;

class Login extends Validate
{
 /**
  * 定義驗證規則
  * 格式:'字段名' => ['規則1','規則2'...]
  *
  * @var array
  */
 protected $rule = [
  'username|用戶名' => 'require',
  'password|密碼' => 'require',
  'dto|用戶名或密碼' => 'checkUserExist', //checkUserExist為自定義驗證方法
 ];

 /**
  * 定義錯誤信息
  * 格式:'字段名.規則名' => '錯誤信息'
  *
  * @var array
  */
 protected $message = [
  'dto.checkUserExist' => '用戶名或密碼錯誤!'
 ];

	// $value 為 [
	//			 "username" => username,
	//   "password" => password,
	//   ]
 public function checkUserExist($value){
  $model = new User();
  $user = $model->getUserByUserName($value['username']);
  if($user == null){
   return false;
  }
  //前端傳過來的密碼需要 加密后 才可以正確與數據庫中的密碼匹配
  if($user['password'] != md5($value['password'])){
   return false;
  }
  return true;
 }

}

結尾

ThinkPHP6.0使用了嶄新的門面設計模式,對于設計模式具體在應用到工程代碼中的能力還需要進一步的提高

到此這篇關于ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸的文章就介紹到這了,更多相關ThinkPHP驗證登陸內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP Pipeline 實現中間件的示例代碼
  • Golang之casbin權限管理的實現
  • thinkphp5.1的model模型自動更新update_time字段實例講解
  • Thinkphp5.1獲取項目根目錄以及子目錄路徑的方法實例講解
  • Thinkphp使用Zxing擴展庫解析二維碼內容圖文講解
  • laravel與thinkphp之間的區別與優缺點
  • ThinkPHP的標簽制作實例講解
  • thinkphp的鉤子的兩種配置和兩種調用方法
  • 如何使用Casbin作為ThinkPHP的權限控制中間件

標簽:那曲 日照 北京 哈密 孝感 阿里 池州 濟源

巨人網絡通訊聲明:本文標題《ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸》,本文關鍵詞  ThinkPHP6.0,如何,利用,自定義,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸》相關的同類信息!
  • 本頁收集關于ThinkPHP6.0如何利用自定義驗證規則規范的實現登陸的相關信息資訊供網民參考!
  • 推薦文章
    午夜精品久久久久久99热| 人妻va精品va欧美va| 久久精品中文字幕电影| 97精品人妻一区二区三区在线| 超碰97人人做人人爱少妇| 国产午夜福利精品| 久久99热精品| 国产乱码久久久| 国产自摸综合网| 免费人成在线不卡| 日本特级黄色大片| 国产精品天天看| 亚洲AV无码久久精品国产一区| 亚洲免费视频在线观看| 这里只有精品999| 久久久精品动漫| 亚洲 欧美综合在线网络| 一起草在线视频| 欧美激情精品久久久久久免费印度| 中文字幕在线播出| 国产伦精品一区二区三区照片| 国产成人av影院| 国产chinese中国hdxxxx| 成人免费xxxxx在线观看| 神马午夜一区二区| 热99精品只有里视频精品| 久久亚洲影视婷婷| 免费黄色片视频| 欧美va天堂va视频va在线| 少妇无码一区二区三区| 日本高清一区二区视频| 91成人精品网站| 最新日韩在线视频| 九九热视频精品| 久久国产精品免费一区| 欧美日韩性生活| 午夜久久久久久噜噜噜噜| 少妇av一区二区三区无码| 欧美乱妇高清无乱码| 久久久无码精品亚洲日韩按摩| 精品黑人一区二区三区观看时间| 精品剧情在线观看| 国产按摩一区二区三区| 中文字幕视频在线免费观看| 欧美另类第一页| 亚洲免费观看在线视频| 久久久久久久久久91| 懂色av粉嫩av蜜臀av| 日韩有码在线电影| 91麻豆swag| 亚洲av成人无码久久精品老人| 少妇熟女视频一区二区三区 | 欧美在线一二三区| 日本vs亚洲vs韩国一区三区二区 | √天堂资源在线| 欧美大学生性色视频| 欧美中文字幕不卡| 精品人妻无码一区二区色欲产成人| 国产区二区三区| 97netav| 精品视频一区二区三区免费| 高清免费成人av| 中文字幕免费高清网站| 成人在线观看一区二区| 特级西西444www大精品视频| 国产91精品久久久| 91精品国产综合久久精品麻豆| 成人h动漫精品| 超碰在线观看91| 一起草在线视频| 少妇高潮大叫好爽喷水| 日韩美女在线看| 亚洲精品动漫久久久久| 欧美日韩国产一区在线| xfplay精品久久| 无码国产精品高潮久久99| 国产无遮挡又黄又爽| 天堂网成人在线| 一区二区三区四区免费观看| 国产欧美日韩亚洲精品| 国产亚洲激情视频在线| 色哟哟国产精品免费观看| 国产激情精品久久久第一区二区 | 男男做爰猛烈叫床爽爽小说| 人妻互换免费中文字幕| 69174成人网| 97在线视频一区| 亚洲欧美日韩国产中文专区| 欧美日韩大陆在线| 1区2区3区国产精品| 国产精品一二三四| 丝袜亚洲另类欧美| 国产一区二区女内射| 久久综合色综合| 午夜精品福利在线视频| 污污动漫在线观看| 欧美精品与人动性物交免费看| 欧美激情综合色| 视频在线一区二区| 色综合久久88色综合天天免费| 国产乱人伦精品一区二区在线观看| 337p粉嫩色噜噜噜大肥臀| 呦呦视频在线观看| 国产成人黄色片| 图片区小说区区亚洲五月| 国产精品第三页| 日韩视频第一页| 欧美一级片在线| 久久久噜噜噜久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 在线观看亚洲大片短视频| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 国产精品视频一区二区三区四区五区| 狠狠色噜噜狠狠色综合久| 国产精品普通话| 国产精品高潮粉嫩av| 精品国产户外野外| 欧美日韩中文字幕| 在线观看免费亚洲| 欧美精品一二三四| 欧美一区二区免费视频| 欧美一区2区视频在线观看| 欧美日韩国产精品成人| 91精品国产综合久久国产大片| av在线不卡免费看| 99re这里只有精品首页| 国产精品一区二区无线| 欧美被狂躁喷白浆精品| 九九精品在线观看视频| 在线天堂中文字幕| 国产99免费视频| www.av黄色| 久久免费黄色| 男人的天堂久久精品| 免费在线成人网| 从欧美一区二区三区| 久久免费午夜影院| 中文字幕成人av| 亚洲欧美日韩国产综合| 午夜免费福利视频在线观看| 国产免费无码一区二区| 欧美日韩综合一区二区三区| 亚州视频一区二区三区| 亚洲男人的天堂一区二区| 狠狠综合久久av一区二区小说| 亚洲成人免费视| 一色屋精品亚洲香蕉网站| 国产一区二区三区在线观看精品| 久久手机在线视频| 天堂av在线8| 国产三级精品三级在线专区| 亚洲一区二区三区精品视频| 91丨porny丨在线中文 | 在线播放国产视频| 99久久久久久久久| 久久91精品国产91久久久| www.国产视频.com| 国内精品视频一区二区三区八戒| 精品久久久久久亚洲综合网| 国产极品999| 国产午夜无码视频在线观看| 精品一区二区三区香蕉蜜桃| 国产美女精品免费电影| 美女久久久久久久久久| 成人av第一页| 成人www视频在线观看| 国产精品30p| 伊人精品一区二区三区| 日本成人在线不卡视频| 亚洲国产精品t66y| 欧美喷水一区二区| 亚洲色图13p| 国产精品高潮在线| 最近免费观看高清韩国日本大全| 亚洲色图久久久| 亚洲一级片在线播放| 在线观看一二三区| 国产精品18久久久久久久网站| 亚洲女人的天堂| 精品国产成人在线影院| 国产精品视频yy9099| 成 年 人 黄 色 大 片大 全| 欧美图片第一页| 亚洲第一天堂网| a在线欧美一区| 91精品国产欧美一区二区 | aa成人免费视频| 国产一区二区视频在线免费观看| 精品一区二区三区国产| 欧美男女爱爱视频| 免费视频网站www| jizz一区二区| 欧美日韩一道本| 亚洲欧美色图小说| 精品国产aⅴ一区二区三区东京热| 欧美日韩亚洲精品内裤| 宅男噜噜噜66国产免费观看| 国内精品偷拍视频| 欧美国产精品久久| 视频直播国产精品| 久热国产精品视频一区二区三区| 人妻内射一区二区在线视频| 成人高潮免费视频| 美国毛片一区二区三区| 亚洲成人免费在线视频| 999福利视频| 亚洲成人激情综合网| 中文字幕在线观看91| 亚洲日韩第一页| 在线精品免费视| 国产主播在线一区| 999av视频| 丝袜情趣国产精品| 精品无码一区二区三区电影桃花| 亚洲精品国久久99热| 中文字幕在线亚洲三区| 国产一区二区福利| 91青草视频久久| 玖玖爱在线观看| 国产精品久久久久久久久果冻传媒| 亚洲精品日韩av| 精品一区二区久久久| 91久久国产综合久久91精品网站 | 亚洲国产一区二区三区在线| 性猛交娇小69hd| 美女久久久精品| 亚洲欧美国产视频| 亚洲黄色在线播放| 鲁丝一区二区三区免费| 91丨porny丨首页| 亚洲综合激情视频| 国产欧美精品一区| 欧美激情欧美激情| 欧美视频免费播放| www.蜜臀av| 欧美日韩的一区二区| 日韩欧美精品久久| 国产三级精品三级在线观看| 精品国产精品自拍| 不卡一区二区三区视频| 欧美三级免费看| 亚洲成精国产精品女| 亚洲影院污污.| 免费在线观看日韩| 亚洲国产人成综合网站| 亚洲午夜在线观看| 精品无码人妻一区二区三| 午夜私人影院久久久久| 成人精品久久av网站| av免费中文字幕| 一区二区美女视频| 欧美刺激脚交jootjob| 亚洲精品日韩在线观看| 成人国产精品免费观看动漫| 亚洲 欧美 日韩在线| 91九色对白| 青娱乐国产在线视频| 欧美亚洲日本一区| www国产无套内射com| 日韩av中文字幕一区二区三区| 国产一区二区欧美日韩| 91精品国产91热久久久做人人| 国产精品你懂得| 九九热免费在线| 中文字幕视频一区二区三区久| 国内精品国语自产拍在线观看| 六月婷婷综合网| 欧美精品一区二区三区国产精品| 成年人av网站| 亚洲精品中文字| 久久久一本二本三本| 激情五月激情综合网| 久久久久久国产精品美女| www中文在线| 一区二区三区自拍| 粉嫩av四季av绯色av第一区| 国产精久久久久久| 亚洲v日本v欧美v久久精品| 91在线看www| 日批视频免费观看| 欧美日韩成人高清| 欧美牲交a欧美牲交aⅴ免费下载| 成人动漫中文字幕| 999国产视频| 丰满人妻一区二区| 国产精品久久久久秋霞鲁丝| 超薄肉色丝袜一二三| 亚洲精品天天看| 嫩草影院一区二区三区| 亚洲精品久久久蜜桃动漫| 国产麻豆精品在线观看| 亚洲精品免费播放| 精品三级av在线| 5566成人精品视频免费| 欧美激情导航| 粗暴91大变态调教| 日本裸体美女视频| 国产夫妻自拍av| 久久综合成人精品亚洲另类欧美 | 亚洲av综合一区二区| 久久久久久久久黄色| 国内精品自线一区二区三区视频| 亚洲黄一区二区三区| 亚洲级视频在线观看免费1级| 日韩美女视频免费看| 最新不卡av| 伊人网综合视频| 久久久久久av无码免费看大片| 国产麻豆一精品一av一免费 | 午夜视频福利在线观看| 国产精品麻豆一区二区| 欧美成人a在线| 国产精品成人aaaaa网站| 99re99热| 精品无码国产污污污免费网站| 国产精品永久久久久久久久久| 99精品视频在线播放观看| 欧美日韩国产另类一区| 91av在线免费观看| 国产一二三四五| 男人的天堂官网| 姝姝窝人体www聚色窝| 综合激情成人伊人| 亚洲男人天堂网站| 国产精品精品软件视频| 激情五月俺来也| 在线能看的av| gogogo免费视频观看亚洲一| 欧美美女直播网站| 日本午夜人人精品| 人妻av无码专区| 欧美一区二区三区爽爽爽| 美国一区二区三区在线播放| 无吗不卡中文字幕| 欧美激情精品久久久久久免费印度| 欧美一区免费视频| 免费a级黄色片| 天天干天天色天天| 欧美日韩亚洲成人| 97免费视频在线| 可以看毛片的网址| 国产在线视频第一页| 国产精品自拍毛片| 欧美精三区欧美精三区| 国产一区二区丝袜| 日韩 国产 一区| 国产99久久九九精品无码免费| 亚洲日本电影在线| 久久国产精品久久久| 91免费版看片| 九九精品在线观看视频| 成人深夜视频在线观看| 精品国产一区二区三区av性色 | 91成人在线视频观看| 中日韩一级黄色片| 国产成人精品在线看| 日韩一区二区在线观看| av一区二区三区在线观看| 亚洲精品久久一区二区三区777| 精品人妻一区二区三区浪潮在线 | 三级不卡在线观看| 91福利在线观看| 国产日韩欧美电影在线观看| 日本高清久久久| 精品免费久久久| 欧美日韩亚洲一区二| 国产不卡av在线| 国产传媒免费观看| 人人妻人人澡人人爽精品日本 | 久久久久国色av免费观看性色| 免费观看亚洲视频| 中文字幕亚洲精品一区| 亚洲欧洲日产国码二区| 欧美激情综合亚洲一二区 | 国产精品夫妻激情| 日韩高清在线一区二区| 手机在线精品视频| 欧美一区二区三区电影| 国产成人免费电影| 91香蕉国产视频| 91丝袜国产在线播放| 久久久91精品国产一区不卡| 国产素人在线观看| 国产精品热久久| 色哟哟一区二区| 97超级碰碰| 国产精品18在线| 久久久久久久久久看片| 欧美老女人性视频| 一区二区在线免费看| 少妇人妻偷人精品一区二区| 欧美精品777| 热舞福利精品大尺度视频| 九九视频在线免费观看| 国产精品日韩精品欧美在线| 91精品国产色综合| 免费观看黄网站| 韩国理伦片一区二区三区在线播放| 亚洲黄色免费三级| av电影一区二区三区| 小泽玛利亚一区二区三区视频| 欧美日韩国产综合新一区 | 日韩少妇高潮抽搐| 一区二区三区中文字幕精品精品| 国产激情综合五月久久| av无码av天天av天天爽| 99国产精品久久| 8x拔播拔播x8国产精品| 97精品人妻一区二区三区蜜桃| 国产一区二区三区美女|