Laravel5.1 搭建简单的社区--用户登录
Posted Alex_sun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel5.1 搭建简单的社区--用户登录相关的知识,希望对你有一定的参考价值。
定义一条登录的路由:
// 用户登录 Route::get(‘/user/login‘, ‘[email protected]‘);
添加相应方法后返回视图:
public function login() { return view(‘user.login‘); }
创建login视图:
@extends(‘app‘) @section(‘content‘) <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3" role="main"> {!! Form::open([‘method‘=>‘POST‘,‘url‘=>‘/user/login‘]) !!} <!--- Email Field ---> <div class="form-group"> {!! Form::label(‘email‘, ‘Email:‘) !!} {!! Form::email(‘email‘, null, [‘class‘ => ‘form-control‘]) !!} </div> <!--- Password Field ---> <div class="form-group"> {!! Form::label(‘password‘, ‘Password:‘) !!} {!! Form::password(‘password‘, [‘class‘ => ‘form-control‘]) !!} </div> <!-- 提交 --> {!! Form::submit(‘登录‘,[‘class‘ => ‘btn btn-primary form-control‘]) !!} <div> @if($errors->any()) <ul class="list-group"> @foreach($errors->all() as $error) <li class="list-group-item list-group-item-danger">{{ $error }}</li> @endforeach </ul> @endif </div> {!! Form::close() !!} </div> </div> </div> @stop
到此我们还需要创建一个Request:
php artisan make:request UserLoginRequest
设置规则
class UserLoginRequest extends Request { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ ‘email‘ => ‘required|email‘, ‘password‘ => ‘required|min:6‘, ]; } }
注册登录验证路由:
// 用户登录验证 Route::post(‘/user/login‘, ‘[email protected]‘);
在控制器中声明方法:
public function signin(Requests\UserLoginRequest $request) { // 直接使用门面进行认证 if (\Auth::attempt([ ‘email‘ => $request->get(‘email‘), ‘password‘ => $request->get(‘password‘), ])){ // 认证成功 跳转到首页 return redirect(‘/‘); } // 如果认证失败的话 使用session来提示错误 \Session::flash(‘user_login_failed‘, ‘账号或密码错误‘); return redirect(‘/user/login‘)->withInput(); }
html中对应的session用法:
@if(\Session::has(‘user_login_failed‘)) <div class="alert alert-danger" role="alert"> {{ \Session::get(‘user_login_failed‘) }} </div> @endif
在导航栏展示用户名,进入app.blade.php 增加判断语句:
<ul class="nav navbar-nav navbar-right"> @if(\Auth::check()) <li><a href="../navbar-static-top/">{{ \Auth::user()->name }}</a></li> @else <li><a href="/user/login">登 录</a></li> <li><a href="/user/register">注 册</a></li> @endif
这样 登陆进来后就可以看到用户名了。
以上是关于Laravel5.1 搭建简单的社区--用户登录的主要内容,如果未能解决你的问题,请参考以下文章