laravel框架之自帶登錄&註冊
//控制器層
- <?php
- namespace App\Http\Controllers\admin;
- use App\Models\admin\Users;
- use Illuminate\Http\Request as request;
- use App\Http\Controllers\Controller;
- use App\Http\Requests\register;
- use Illuminate\Support\Facades\DB;
- class UserController extends Controller
- {
- public function login()
- {
- return view('admin.login');
- }
- public function login_do(request $request){
- $model = new Users();
- if ($model->lo($request->only('email','password'))){
- return redirect()->route('admin.showlist')->with('msg','登錄成功');
- }
- }
- public function register()
- {
- return view('admin.register');
- }
- public function register_do(register $request)
- {
- $model = new Users();
- if ($model->zhuce($request->all())){
- return redirect()->route('admin.login')->with('msg','用戶已註冊成功');
- }
- }
//模型層
- <?php
- namespace App\Models\admin;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Foundation\Auth\User as Authors;
- class Users extends Authors
- {
- public $table = "users";
- public function zhuce($data)
- {
- $this->username =$data['username'];
- $this->password =bcrypt($data['password']);
- $this->email =$data['email'];
- return $this->save();
- }
- public function lo($data)
- {
- if (auth()->attempt($data)){
- return auth()->user();
- }
- }
- }
//視圖層
//註冊頁面
- @extends('layouts.app')
- @section('title','註冊頁面')
- @section('content')
- <div class="container">
- <div class="row justify-content-center">
- <div class="col-md-8">
- <div class="card">
- <div class="card-header">{{ __('Register') }}</div>
- <div class="card-body">
- <form method="POST" action="{{ route('admin.register_do') }}" aria-label="{{ __('Register') }}">
- @csrf
- <div class="form-group row">
- <label for="username" class="col-md-4 col-form-label text-md-right">{{ __('UserName') }}</label>
- <div class="col-md-6">
- <input id="username" type="text" class="form-control{{ $errors->has('username') ? ' is-invalid' : '' }}" name="username" value="{{ old('username') }}" required autofocus>
- @if ($errors->has('username'))
- <span class="invalid-feedback" role="alert">
- <strong>{{ $errors->first('username') }}</strong>
- </span>
- @endif
- </div>
- </div>
- <div class="form-group row">
- <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
- <div class="col-md-6">
- <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
- @if ($errors->has('email'))
- <span class="invalid-feedback" role="alert">
- <strong>{{ $errors->first('email') }}</strong>
- </span>
- @endif
- </div>
- </div>
- <div class="form-group row">
- <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
- <div class="col-md-6">
- <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
- @if ($errors->has('password'))
- <span class="invalid-feedback" role="alert">
- <strong>{{ $errors->first('password') }}</strong>
- </span>
- @endif
- </div>
- </div>
- <div class="form-group row">
- <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
- <div class="col-md-6">
- <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
- </div>
- </div>
- <div class="form-group row mb-0">
- <div class="col-md-6 offset-md-4">
- <button type="submit" class="btn btn-primary">
- {{ __('Register') }}
- </button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- @endsection
- //登錄頁面
- @extends('layouts.app')
- @section('title','登錄頁面')
- @section('content')
- <div class="container">
- <div class="row justify-content-center">
- <div class="col-md-8">
- <div class="card">
- <div class="card-header">{{ session('msg' ?? 'Login') }}</div>
- <div class="card-body">
- <form method="POST" action="{{ route('admin.login_do') }}" aria-label="{{ __('Login') }}">
- @csrf
- <div class="form-group row">
- <label for="email" class="col-sm-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
- <div class="col-md-6">
- <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
- @if ($errors->has('email'))
- <span class="invalid-feedback" role="alert">
- <strong>{{ $errors->first('email') }}</strong>
- </span>
- @endif
- </div>
- </div>
- <div class="form-group row">
- <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
- <div class="col-md-6">
- <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
- @if ($errors->has('password'))
- <span class="invalid-feedback" role="alert">
- <strong>{{ $errors->first('password') }}</strong>
- </span>
- @endif
- </div>
- </div>
- <div class="form-group row">
- <div class="col-md-6 offset-md-4">
- <div class="form-check">
- <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
- <label class="form-check-label" for="remember">
- {{ __('Remember Me') }}
- </label>
- </div>
- </div>
- </div>
- <div class="form-group row mb-0">
- <div class="col-md-8 offset-md-4">
- <button type="submit" class="btn btn-primary">
- {{ __('Login') }}
- </button>
- <a class="btn btn-link" href="{{ route('password.request') }}">
- {{ __('Forgot Your Password?') }}
- </a>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- @endsection
- //佈局頁面 layouts
- <!DOCTYPE html>
- <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <!-- CSRF Token -->
- <meta name="csrf-token" content="{{ csrf_token() }}">
- <title>@yield('title')</title>
- <!-- Scripts -->
- <script src="{{ asset('js/app.js') }}" defer></script>
- <!-- Fonts -->
- <link rel="dns-prefetch" href="https://fonts.gstatic.com">
- <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
- <!-- Styles -->
- <link href="{{ asset('css/app.css') }}" rel="stylesheet">
- </head>
- <body>
- <div id="app">
- <nav class="navbar navbar-expand-md navbar-light navbar-laravel">
- <div class="container">
- <a class="navbar-brand" href="{{ url('/') }}">
- {{ config('app.name', 'Laravel') }}
- </a>
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
- <!-- Left Side Of Navbar -->
- <ul class="navbar-nav mr-auto">
- </ul>
- <!-- Right Side Of Navbar -->
- <ul class="navbar-nav ml-auto">
- <!-- Authentication Links -->
- @guest
- <li class="nav-item">
- <a class="nav-link" href="{{ route('admin.login') }}">{{ __('Login') }}</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="{{ route('admin.register') }}">{{ __('Register') }}</a>
- </li>
- @else
- <li class="nav-item dropdown">
- <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
- {{ Auth::user()->name }} <span class="caret"></span>
- </a>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
- <a class="dropdown-item" href="{{ route('logout') }}"
- onclick="event.preventDefault();
- document.getElementById('logout-form').submit();">
- {{ __('Logout') }}
- </a>
- <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
- @csrf
- </form>
- </div>
- </li>
- @endguest
- </ul>
- </div>
- </div>
- </nav>
- <main class="py-4">
- @yield('content')
- </main>
- </div>
- </body>
- </html>
laravel框架之自帶登錄&註冊的更多相关文章
- .Net使用微軟自帶的用戶驗證和登錄授權
使用微軟的用戶驗證,權限管理的方法 一.使用配置好的數據庫, 1.首先建立想定的數據庫(只填寫名字不加載任何表,如:Login數據庫) 2.使用vs兼容工具命令提示.如圖: 3.導入數據庫所需要的ta ...
- laravel框架基础知识总结
一.laravel简介 laravel是一套优雅简介的PHP开发框架,受欢迎程度非常之高,功能强大,工具齐全:以下是本人在学习过程中记录的laravel比较基础的资料,权当学习笔记,请大神们多多指教 ...
- [php]laravel框架容器管理的一些要点
本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- laravel 框架使用总结 limit
后台开发就是数据的各种处理很多时候需要做到分页,但是在laravel中使用limit做分页的时候会出现问题,偏移量和每页的条数放进去好像不好使了 下面推荐给大家一种在laravel框架中非常好用的写法 ...
- laravel框架总结(十) -- 返回值
以前用CI框架对于返回值没有过多关注,但是发现使用laravel框架的时候出现了一些小问题,特意实践总结了一些常用情形,希望对大家有所帮助 先理解几个概念: 1>StdClass 对象=&g ...
- Laravel框架数据库CURD操作、连贯操作使用方法
Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍. Laravel是一套简洁.优雅的PHP Web开 ...
- [麦先生]Laravel框架实现发送短信验证
今天在做到用户注册和个人中心的安全管理时,我借助实现第三方短信平台在Laravel框架中进行手机验证的设置; 由于我们做的是一个为客户提供医疗咨询和保健品网站,所以对客户个人隐私的保护显得尤为重要, ...
- [麦先生]初学Laravel框架与ThinkPHP框架的不同(2)
在经过了一段时间的开发后,我对Laravel框架的认识又在逐步的加深,对于这个世界占有量NO.1的框架... 我想说,我已经在逐步的感受到他的恐怖之处... 一.建表--Laravel在数据库建表上 ...
随机推荐
- Robot Framework(七)创建用户关键字
2.6创建用户关键字 关键字表用于通过将现有关键字组合在一起来创建新的更高级别关键字.这些关键字称为用户关键字,以区别于 测试库中实现的最低级库关键字.创建用户关键字的语法与创建测试用例的语法非常接近 ...
- mitmproxy修改二级代理
第一步 mitmweb --mode upstream:http://114.240.101.242:5672 -s server.py 第二步 def request(self, flow: mit ...
- Python选择指定文件夹的文件然后复制出其中几个文件到新的文件夹
""" 要求: 1.读取cdm文件的所有子文件夹,然后每个文件夹里面是抽出一个一个mp3后缀的文件. 遍历所有的子文件,然后将这些mp3文件,保存到一个新的文件夹.文件夹 ...
- MySQL单机安装
操作系统:CentOS 7 MySQL:5.6 MySQL的卸载 查看MySQL软件 卸载MySQL 查看是否还有 MySQL 软件,有的话继续删除. 安装MySQL 启动MySQL 设置root用户 ...
- WinPEter制作U盘启动盘
一.图说WinPE启动U盘的制作 1.首先将U盘插入电脑的USB接口(重要提示:制作过程U盘会被格式化,注意备份资料): 2.解压下载的WinPEU.rar文件: 3.在WinPEU.rar解压目录打 ...
- LeetCode 101. 对称二叉树(Symmetric Tree)
题目描述 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null, ...
- Flume-几种拓扑结构
一.串联 Flume Agent 连接 这种模式是将多个 flume 顺序连接起来了,从最初的 source 开始到最终 sink 传送的目的存储系统.此模式不建议桥接过多的 flume 数量,flu ...
- VIM | vim操作大全
1. 关于Vim vim是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtutor是个聪明的决定. ...
- LC 670. Maximum Swap
Given a non-negative integer, you could swap two digits at most once to get the maximum valued numbe ...
- 消息队列 RabbitMQ 入门介绍
来源:http://ityen.com/archives/578 一.什么是RabbitMQ? RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系 ...