laravel 7 登录
2024-08-25 22:42:13
1:路由,展示登录表单
Route::group(['prefix'=>'day','namespace'=>'day18'],function (){
// 登录
Route::get('login','ExamController@login'); });
2,HTML:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link href="/static/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
<link href="/static/static/h-ui.admin/css/H-ui.login.css" rel="stylesheet" type="text/css" />
<link href="/static/static/h-ui.admin/css/style.css" rel="stylesheet" type="text/css" />
<link href="/static/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
<title>后台登录 - H-ui.admin v3.1</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
</head>
<body>
<input type="hidden" id="TenantId" name="TenantId" value="" />
<div class="header"></div>
<div class="loginWraper">
<div id="loginform" class="loginBox">
<form class="form form-horizontal" action="{{url('day/dologin')}}" method="post">
@csrf
<div class="row cl">
<label class="form-label col-xs-3"><i class="Hui-iconfont"></i></label>
<div class="formControls col-xs-8">
<input id="" name="username" type="text" placeholder="账户" class="input-text size-L">
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-3"><i class="Hui-iconfont"></i></label>
<div class="formControls col-xs-8">
<input id="" name="password" type="password" placeholder="密码" class="input-text size-L">
</div>
</div> <div class="row cl">
<div class="formControls col-xs-8 col-xs-offset-3">
<input name="" type="submit" class="btn btn-success radius size-L" value=" 登 录 ">
<input name="" type="reset" class="btn btn-default radius size-L" value=" 取 消 ">
</div>
</div>
</form>
{{-- 显示错误信息--}}
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
</div>
<div class="footer">Copyright 你的公司名称 by H-ui.admin v3.1</div>
<script type="text/javascript" src="/static/lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="/static/static/h-ui/js/H-ui.min.js"></script>
<!--此乃百度统计代码,请自行删除-->
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?080836300300be57b7f34f4b3e97d911";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script> </body>
</html>
3:提交表单路由:
Route::group(['prefix'=>'day','namespace'=>'day18'],function (){ // 处理登录
Route::post('dologin','ExamController@doLogin');
});
4:提交控制器验证
public function doLogin(Request $request){
// 去除token
$params=$request->except('_token');
// 验证非空
$this->validate($request, [
'username' => 'required',
'password' => 'required'
], [
'username.required' => '账号不可以为空',
'password.required' => '密码不可以为空'
], $params);
// 匹配数据库
$res=Admins::login($params);
// 验证账号和密码
if ($res['username']!==$params['username']){
return redirect(url('day/login'))->withErrors(['error'=>'账号错误']);
}elseif ($res['password']!==md5($params['password'])){
return redirect(url('day/login'))->withErrors(['error'=>'密码错误']);
}else{
// 记录session通过put方法
$request->session()->put('username', $res['username']);
//通过全局辅助函数
// session(['username' => $res['username']);
//验证成功跳转首页
return redirect(url('day/new'))->with('success','登录成功');
}
}
5:模型代码:
<?php namespace App\models; use Illuminate\Database\Eloquent\Model; class Admins extends Model
{
//链接表名
protected $table = 'admins';
//验证数据
public static function login($params)
{
//验证账号
return self::where('username',$params['username'])
->first();
}
}
6:效果:
最新文章
- 多Linux系统如何复用/home目录
- Java四种线程池
- python魔法函数的一些疑问
- 一个Struts2的实例
- Object Pascal 控制语句
- Ogre参考手册(五)3.2 合成器
- Java 数据结构之Stack
- mysql之多表查询
- c#中单元测试
- java读写csv
- 一次服务器CPU占用率高的定位分析
- hdu不要62
- iOS学习资料整理
- xstream对象xml互转
- c# 自定义位数生成激活码
- Python学习笔记——基础篇【第五周】——正在表达式(re.match与re.search的区别)
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
- 【毕业原版】-《巴斯大学毕业证书》Bath一模一样原件
- inetd.conf文件中的字段
- centos6.5环境wget报错Unable to establish SSL connection