zoukankan      html  css  js  c++  java
  • laravel框架之自帶登錄&註冊

    //控制器層

     1 <?php
     2 
     3 namespace AppHttpControllersadmin;
     4 
     5 use AppModelsadminUsers;
     6 use IlluminateHttpRequest as request;
     7 use AppHttpControllersController;
     8 use AppHttpRequests
    egister;
     9 use IlluminateSupportFacadesDB;
    10 
    11 class UserController extends Controller
    12 {
    13     public function login()
    14     {
    15         return view('admin.login');
    16     }
    17     public function login_do(request $request){
    18         $model = new Users();
    19         if ($model->lo($request->only('email','password'))){
    20             return redirect()->route('admin.showlist')->with('msg','登錄成功');
    21         }
    22     }
    23     public function register()
    24     {
    25         return view('admin.register');
    26     }
    27     public function register_do(register $request)
    28     {
    29         $model = new Users();
    30         if ($model->zhuce($request->all())){
    31             return redirect()->route('admin.login')->with('msg','用戶已註冊成功');
    32         }
    33     }

    //模型層

     1 <?php
     2 
     3 namespace AppModelsadmin;
     4 
     5 use IlluminateDatabaseEloquentModel;
     6 use IlluminateFoundationAuthUser as Authors;
     7 
     8 class Users extends Authors
     9 {
    10     public $table = "users";
    11     public function zhuce($data)
    12     {
    13         $this->username             =$data['username'];
    14         $this->password             =bcrypt($data['password']);
    15         $this->email                =$data['email'];
    16         return $this->save();
    17     }
    18     public function lo($data)
    19     {
    20         if (auth()->attempt($data)){
    21             return auth()->user();
    22         }
    23     }
    24 }

    //視圖層

    //註冊頁面

      1 @extends('layouts.app')
      2 @section('title','註冊頁面')
      3 @section('content')
      4 <div class="container">
      5     <div class="row justify-content-center">
      6         <div class="col-md-8">
      7             <div class="card">
      8                 <div class="card-header">{{ __('Register') }}</div>
      9 
     10                 <div class="card-body">
     11                     <form method="POST" action="{{ route('admin.register_do') }}" aria-label="{{ __('Register') }}">
     12                         @csrf
     13 
     14                         <div class="form-group row">
     15                             <label for="username" class="col-md-4 col-form-label text-md-right">{{ __('UserName') }}</label>
     16 
     17                             <div class="col-md-6">
     18                                 <input id="username" type="text" class="form-control{{ $errors->has('username') ? ' is-invalid' : '' }}" name="username" value="{{ old('username') }}" required autofocus>
     19 
     20                                 @if ($errors->has('username'))
     21                                     <span class="invalid-feedback" role="alert">
     22                                         <strong>{{ $errors->first('username') }}</strong>
     23                                     </span>
     24                                 @endif
     25                             </div>
     26                         </div>
     27 
     28                         <div class="form-group row">
     29                             <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
     30 
     31                             <div class="col-md-6">
     32                                 <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
     33 
     34                                 @if ($errors->has('email'))
     35                                     <span class="invalid-feedback" role="alert">
     36                                         <strong>{{ $errors->first('email') }}</strong>
     37                                     </span>
     38                                 @endif
     39                             </div>
     40                         </div>
     41 
     42                         <div class="form-group row">
     43                             <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
     44 
     45                             <div class="col-md-6">
     46                                 <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
     47 
     48                                 @if ($errors->has('password'))
     49                                     <span class="invalid-feedback" role="alert">
     50                                         <strong>{{ $errors->first('password') }}</strong>
     51                                     </span>
     52                                 @endif
     53                             </div>
     54                         </div>
     55 
     56                         <div class="form-group row">
     57                             <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
     58 
     59                             <div class="col-md-6">
     60                                 <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
     61                             </div>
     62                         </div>
     63 
     64                         <div class="form-group row mb-0">
     65                             <div class="col-md-6 offset-md-4">
     66                                 <button type="submit" class="btn btn-primary">
     67                                     {{ __('Register') }}
     68                                 </button>
     69                             </div>
     70                         </div>
     71                     </form>
     72                 </div>
     73             </div>
     74         </div>
     75     </div>
     76 </div>
     77 @endsection
     78 //登錄頁面
     79 @extends('layouts.app')
     80 @section('title','登錄頁面')
     81 @section('content')
     82 <div class="container">
     83     <div class="row justify-content-center">
     84         <div class="col-md-8">
     85             <div class="card">
     86                 <div class="card-header">{{ session('msg' ?? 'Login') }}</div>
     87 
     88                 <div class="card-body">
     89                     <form method="POST" action="{{ route('admin.login_do') }}" aria-label="{{ __('Login') }}">
     90                         @csrf
     91 
     92                         <div class="form-group row">
     93                             <label for="email" class="col-sm-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
     94 
     95                             <div class="col-md-6">
     96                                 <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
     97 
     98                                 @if ($errors->has('email'))
     99                                     <span class="invalid-feedback" role="alert">
    100                                         <strong>{{ $errors->first('email') }}</strong>
    101                                     </span>
    102                                 @endif
    103                             </div>
    104                         </div>
    105 
    106                         <div class="form-group row">
    107                             <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
    108 
    109                             <div class="col-md-6">
    110                                 <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
    111 
    112                                 @if ($errors->has('password'))
    113                                     <span class="invalid-feedback" role="alert">
    114                                         <strong>{{ $errors->first('password') }}</strong>
    115                                     </span>
    116                                 @endif
    117                             </div>
    118                         </div>
    119 
    120                         <div class="form-group row">
    121                             <div class="col-md-6 offset-md-4">
    122                                 <div class="form-check">
    123                                     <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
    124 
    125                                     <label class="form-check-label" for="remember">
    126                                         {{ __('Remember Me') }}
    127                                     </label>
    128                                 </div>
    129                             </div>
    130                         </div>
    131 
    132                         <div class="form-group row mb-0">
    133                             <div class="col-md-8 offset-md-4">
    134                                 <button type="submit" class="btn btn-primary">
    135                                     {{ __('Login') }}
    136                                 </button>
    137 
    138                                 <a class="btn btn-link" href="{{ route('password.request') }}">
    139                                     {{ __('Forgot Your Password?') }}
    140                                 </a>
    141                             </div>
    142                         </div>
    143                     </form>
    144                 </div>
    145             </div>
    146         </div>
    147     </div>
    148 </div>
    149 @endsection
    150 
    151 //佈局頁面  layouts
    152 <!DOCTYPE html>
    153 <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    154 <head>
    155     <meta charset="utf-8">
    156     <meta http-equiv="X-UA-Compatible" content="IE=edge">
    157     <meta name="viewport" content="width=device-width, initial-scale=1">
    158 
    159     <!-- CSRF Token -->
    160     <meta name="csrf-token" content="{{ csrf_token() }}">
    161 
    162     <title>@yield('title')</title>
    163 
    164     <!-- Scripts -->
    165     <script src="{{ asset('js/app.js') }}" defer></script>
    166 
    167     <!-- Fonts -->
    168     <link rel="dns-prefetch" href="https://fonts.gstatic.com">
    169     <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
    170 
    171     <!-- Styles -->
    172     <link href="{{ asset('css/app.css') }}" rel="stylesheet">
    173 </head>
    174 <body>
    175     <div id="app">
    176         <nav class="navbar navbar-expand-md navbar-light navbar-laravel">
    177             <div class="container">
    178                 <a class="navbar-brand" href="{{ url('/') }}">
    179                     {{ config('app.name', 'Laravel') }}
    180                 </a>
    181                 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
    182                     <span class="navbar-toggler-icon"></span>
    183                 </button>
    184 
    185                 <div class="collapse navbar-collapse" id="navbarSupportedContent">
    186                     <!-- Left Side Of Navbar -->
    187                     <ul class="navbar-nav mr-auto">
    188 
    189                     </ul>
    190 
    191                     <!-- Right Side Of Navbar -->
    192                     <ul class="navbar-nav ml-auto">
    193                         <!-- Authentication Links -->
    194                         @guest
    195                             <li class="nav-item">
    196                                 <a class="nav-link" href="{{ route('admin.login') }}">{{ __('Login') }}</a>
    197                             </li>
    198                             <li class="nav-item">
    199                                 <a class="nav-link" href="{{ route('admin.register') }}">{{ __('Register') }}</a>
    200                             </li>
    201                         @else
    202                             <li class="nav-item dropdown">
    203                                 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
    204                                     {{ Auth::user()->name }} <span class="caret"></span>
    205                                 </a>
    206 
    207                                 <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
    208                                     <a class="dropdown-item" href="{{ route('logout') }}"
    209                                        onclick="event.preventDefault();
    210                                                      document.getElementById('logout-form').submit();">
    211                                         {{ __('Logout') }}
    212                                     </a>
    213 
    214                                     <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
    215                                         @csrf
    216                                     </form>
    217                                 </div>
    218                             </li>
    219                         @endguest
    220                     </ul>
    221                 </div>
    222             </div>
    223         </nav>
    224 
    225         <main class="py-4">
    226             @yield('content')
    227         </main>
    228     </div>
    229 </body>
    230 </html>
  • 相关阅读:
    Support for the experimental syntax 'classProperties' isn't currently enabled
    CssSyntaxError (2:1) Unknown word 1 | > 2 | var content = require("!!./index.css");
    vue-transition实现加入购物车效果及其他动画效果实现
    Array.reduce()方法
    Object.keys()返回对象自身可枚举属性组成的数组
    vue + mixin混入对象使用
    el-table + el-form实现可编辑表格字段验证
    深圳面试题
    深圳两年面试题
    JVM中的STW和CMS
  • 原文地址:https://www.cnblogs.com/songbao/p/11188669.html
Copyright © 2011-2022 走看看