代码改变世界

laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---登录,

2017-06-02 22:30  吃饱了才能撑着  阅读(55)  评论(0)    收藏  举报
本来准备给大家得瑟一下的!突然发现登录还不行!
 
我们整顿大军,来处理一下登录的,情况,既然,要做,就做的漂亮一点,哈哈。
 
 
那么一样的逻辑,先按照这个几个步骤来:
 
第一:路由
第二:模版
第三:控制器
 
貌似发现,第一个路由不需要我们设置了,因为这个有点是 认证的意思,就是自动跳转过来的,好,那就先不管路由了,那吗需要处理的就是我们的 模版
 
按照这个路径来说,对应的模版引擎的位置应该是resources/views/auth/login.blade.php 文件。
 
然后 按照 laravel 一贯的高艺术气息的作风, 应该还是需要继承  resources/views/layouts/app.blade.php 这个布局模版,
 
那么我们就有目标了,就是搞定这两个 模版的布局就行了,看来很容易了,哈哈!
 
注意:
特别注意:
// 因为不好用:缺少路由
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
 
一定要主动添加路由。
 
 
第一个: app.blade.php 
 
 
<!DOCTYPE html>
<
html lang="en">
<
head>
    <
meta charset="utf-8">
    <
meta http-equiv="X-UA-Compatible" content="IE=edge">
    <
meta name="viewport" content="width=device-width, initial-scale=1">

    <
title>Laravel 快速引导手册 - 中级</title>

   
 <!-- Fonts -->
   
 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel='stylesheet' type='text/css'>
    <
link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700" rel='stylesheet' type='text/css'>

   
 <!-- Styles -->
   
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
   
 {{-- <link href="{{ elixir('css/app.css') }}" rel="stylesheet"> --}}

   
 <style>
       
 body {
           
 font-family: 'Lato';
       
 }

        .
fa-btn {
           
 margin-right: 6px;
       
 }
    </
style>
</
head>
<
body id="app-layout">
<
nav class="navbar navbar-default">
    <
div class="container">
        <
div class="navbar-header">

           
 <!-- Collapsed Hamburger -->
           
 <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse">
                <
span class="sr-only">伸缩导航条</span>
                <
span class="icon-bar"></span>
                <
span class="icon-bar"></span>
                <
span class="icon-bar"></span>
            </
button>

           
 <!-- Branding Image -->
           
 <a class="navbar-brand" href="{{ url('/') }}">
               
 任务列表
           
 </a>
        </
div>

        <
div class="collapse navbar-collapse" id="app-navbar-collapse">
           
 <!-- Left Side Of Navbar -->
           
 <ul class="nav navbar-nav">
            </
ul>

           
 <!-- Right Side Of Navbar -->
           
 <ul class="nav navbar-nav navbar-right">
               
 <!-- Authentication Links -->
               
 @if (Auth::guest())
                   
 <li><a href="{{ url('/auth/login') }}">登录</a></li>
                    <
li><a href="{{ url('/auth/register') }}">注册</a></li>
               
 @else
                   
 <li class="dropdown">
                        <
a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                            {{ Auth::user()->
name }} <span class="caret"></span>
                        </
a>

                        <
ul class="dropdown-menu" role="menu">
                            <
li><a href="{{ url('/auth/logout') }}"><i class="fa fa-btn fa-sign-out"></i>退出</a></li>
                        </
ul>
                    </
li>
               
 @endif
           
 </ul>
        </
div>
    </
div>
</
nav>
{{--子模板继承替换--}}
@yield('content')

<!-- JavaScripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<
script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
{{-- <script src="{{ elixir('js/app.js') }}"></script> --}}
</body>
</html>
</html>
 
第一个: login.blade.php
 
@extends('layouts.app')

@section(
'content')
<div class="container">
    <
div class="row">
        <
div class="col-md-8 col-md-offset-2">
            <
div class="panel panel-default">
                <
div class="panel-heading">登录</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/auth/login') }}">
                        {!! csrf_field() !!}

                        <
div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">邮件地址</label>

                            <
div class="col-md-6">
                                <
input type="email" class="form-control" name="email" value="{{ old('email') }}">

                               
 @if ($errors->has('email'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('email') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">密码</label>

                            <
div class="col-md-6">
                                <
input type="password" class="form-control" name="password">

                               
 @if ($errors->has('password'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('password') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group">
                            <
div class="col-md-6 col-md-offset-4">
                                <
div class="checkbox">
                                    <
label>
                                        <
input type="checkbox" name="remember"记住我
                                   
 </label>
                                </
div>
                            </
div>
                        </
div>

                        <
div class="form-group">
                            <
div class="col-md-6 col-md-offset-4">
                                <
button type="submit" class="btn btn-primary">
                                    <
i class="fa fa-btn fa-sign-in"></i>登录
                               
 </button>

                                <
a class="btn btn-link" href="{{ url('/password/reset') }}">忘记密码</a>
                            </
div>
                        </
div>
                    </
form>
                </
div>
            </
div>
        </
div>
    </
div>
</
div>
@endsection
 
 
这样就可以了!
 
但是,当你兴冲冲的准备去 登录的时候,发现,居然还没有 用户名 跟密码 怎么办?
还是需要注册:
 
同样的,先处理注册的控制路由。
 
// 注册路由
Route::get('/auth/register', 'Auth\AuthController@getRegister');
Route::post('/auth/register', 'Auth\AuthController@postRegister');
然后控制注册的模版。
 
代码如下:
 
@extends('layouts.app')

@section(
'content')
<div class="container">
    <
div class="row">
        <
div class="col-md-8 col-md-offset-2">
            <
div class="panel panel-default">
                <
div class="panel-heading">注册</div>
                <
div class="panel-body">
                    <
form class="form-horizontal" role="form" method="POST" action="{{ url('/auth/register') }}">
                        {!! csrf_field() !!}

                        <
div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">姓名</label>

                            <
div class="col-md-6">
                                <
input type="text" class="form-control" name="name" value="{{ old('name') }}">

                               
 @if ($errors->has('name'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('name') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">邮件地址</label>

                            <
div class="col-md-6">
                                <
input type="email" class="form-control" name="email" value="{{ old('email') }}">

                               
 @if ($errors->has('email'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('email') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">密码</label>

                            <
div class="col-md-6">
                                <
input type="password" class="form-control" name="password">

                               
 @if ($errors->has('password'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('password') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <
label class="col-md-4 control-label">确认密码</label>

                            <
div class="col-md-6">
                                <
input type="password" class="form-control" name="password_confirmation">

                               
 @if ($errors->has('password_confirmation'))
                                   
 <span class="help-block">
                                        <
strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </
span>
                               
 @endif
                           
 </div>
                        </
div>

                        <
div class="form-group">
                            <
div class="col-md-6 col-md-offset-4">
                                <
button type="submit" class="btn btn-primary">
                                    <
i class="fa fa-btn fa-user"></i>注册
                               
 </button>
                            </
div>
                        </
div>
                    </
form>
                </
div>
            </
div>
        </
div>
    </
div>
</
div>
@endsection
 
发现注册成功,跳转到了 /home 目录,没关系,我们就成功了
 
下面修改一下home 的指向
 
Route::get('/home', 'TaskController@index');
 
搞定!
 
 
php初学者-千锋php课程笔记