laravel8实现登录功能

本文介绍了如何在 Laravel 框架下创建一个登录页面,包括使用Bootstrap模板创建HTML,编写Login控制器处理GET请求的显示和POST请求的登录验证,以及在web.php路由文件中配置相关路由。登录验证通过User模型实现,提交登录后返回相应的状态信息。
摘要由CSDN通过智能技术生成

1.创建login页面。我去找的模板,模板地址:https://www.mycodes.net/192/10205.htm

在resources/views下面新建login文件夹,然后在此文件夹中新建index.blade.php文件。写入:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Bootstrap Material Admin</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="robots" content="all,follow">
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/4.2.1/css/bootstrap.min.css">
    <link rel="stylesheet" href="{{ 'Bootstrap/css/style.default.css' }}" id="theme-stylesheet">
  </head>
  <body>
    <div class="page login-page">
      <div class="container d-flex align-items-center">
        <div class="form-holder has-shadow">
          <div class="row">
            <!-- Logo & Information Panel-->
            <div class="col-lg-6">
              <div class="info d-flex align-items-center">
                <div class="content">
                  <div class="logo">
                    <h1>欢迎登录</h1>
                  </div>
                  <p>laravel初体验</p>
                </div>
              </div>
            </div>
            <!-- Form Panel    -->
            <div class="col-lg-6 bg-white">
              <div class="form d-flex align-items-center">
                <div class="content">
                  <form method="post" action="login.html" class="form-validate" id="loginFrom">
                    <div class="form-group">
                      <input id="login-email" type="text" name="email" required data-msg="请输入邮箱" placeholder="邮箱"  class="input-material">
                    </div>
                    <div class="form-group">
                      <input id="login-password" type="password" name="passWord" required data-msg="请输入密码" placeholder="密码" class="input-material">
                    </div>
                      <input type="button" id="login" class="btn btn-primary" value="登录" >
                  </form>
                  <br />
                  <small>没有账号?</small><a href="register" class="signup">&nbsp注册</a>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- JavaScript files-->
    <script src="{{ 'Bootstrap/js/jquery.min.js' }}"></script>
    <script src="{{ 'Bootstrap/js/bootstrap.min.js' }}"></script>
    <script src="{{ 'layui/layui.js' }}"></script>
    <script>
    	$(function(){
    		/*登录*/
    		$("#login").click(function(){
    			var email=$("#login-email").val();
    			var passWord=$("#login-password").val();
                $.post('doLogin',{"email":email,"passWord":passWord,'_token':"{{ csrf_token() }}"},function(res){
                    //为避免layui与bootstrap冲突
                    layui.use('layer', function(){
                        var layer = layui.layer;
                        if(res.code>0){
                            layer.msg(res.msg,{icon:1,time:1500})
                        }else{
                            layer.msg(res.msg,{icon:2,time:1500});
                        }
                    });

                })
    		})
    	})
    </script>
  </body>
</html>

2.建立controller模板(cmd进入laravel文件的根目录)

php artisan make:controller Login

在Login控制器中写入:

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

3.在routes/web.php中写入:

use App\Http\Controllers\Login;
Route::get('/login',[Login::class,'index']);

此时在浏览器的根域名后面输入/login就可以访问新建的login页面了。

4.点击提交以后需要做的工作:

4.1在routes/web.php中写入:

Route::post('/doLogin',[Login::class,'doLogin']);

4.2在Login控制器中写入:

public function doLogin(Request $request){
        $email=$request->post('email');
        $password=$request->post('passWord');

        $model=new User();
        $response=$model->doLogin($email,$password);
        return $response;
    }

4.3在user模板中写入:

 //登录
    public function doLogin($email,$password){
        $result=$this->where('email',$email)->exists();//判断email在表中是否存在
        if($result){
            $pwd=$this->where('email',$email)->value('password');//查询出密码
            if($pwd==$password){
                return ['msg'=>'登录成功','code'=>1];
            }else{
                return ['msg'=>'密码错误','code'=>0];
            }
        }else{
            return ['msg'=>'账号不存在','code'=>0];
        }
    }

然后点击登录就可以登录了。至于登录以后应该跳转的页面,写在index.blade.php的js下面就行。

至此,登录也告一段落

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值