详细地址:https://segmentfault.com/a/1190000003718819
效果展示:
代码 实现:
后台:
use Validator;
- public function login()
- {
- if($input = Input::all()){
- //验证提交的数据
- $rules = [
- 'user_name'=>'required|between:4,20',
- 'user_pwd'=>'required|between:6,20',
- 'code'=>'required|between:4,4'
- ];
- $message = [
- 'user_name.required'=>'账号不能为空!',
- 'user_name.between'=>'账号必须在6-20位之间!',
- 'user_pwd.required'=>'密码不能为空!',
- 'user_pwd.between'=>'密码必须在6-20位之间!',
- 'code.required'=>'验证码不能为空!',
- 'code.between'=>'验证码必须为4位!',
- ];
- $validator = Validator::make($input,$rules,$message);
- //表单验证
- if($validator->passes()){
- //验证验证码
- if($_SESSION['code']!=strtoupper($input['code'])){
- return back()->with('msg','验证码错误!');
- }
- //用户验证
- $user = DB::table('user')->select
- ('user_id','user_encrypt','user_pwd')->where('user_name',$input['user_name'])-
- >first();
- if(!$user){
- return back()->with('msg','用户不存在!');
- }else{
- if(md5(md5($input['user_pwd']).$user->user_encrypt)!=$user-
- >user_pwd){
- return back()->with('msg','密码错误!');
- }
- session(['user_id'=>$user->user_id]);
- return redirect('index');
- }
- }else{
- return back()->withErrors($validator);
- }
- }else{
- return view('admin.login');
- }
- }
前台:
- <div class="middle-box text-center loginscreen animated fadeInDown">
- <div>
- <div>
- <h1 class="logo-name">h</h1>
- </div>
- <h3>欢迎使用 hAdmin</h3>
- <form class="m-t" role="form" action="{{URL('/login')}}" method="post">
- @if(count($errors)>0)
- @if(is_object($errors))
- @foreach($errors->all() as $error)
- <p style="color:red">{{$error}}</p>
- @endforeach
- @else
- <p style="color:red">{{$errors}}</p>
- @endif
- @endif
- @if(session('msg'))
- <p style="color:red">{{session('msg')}}</p>
- @endif
- <div class="form-group">
- <input type="email" class="form-control" placeholder="用户名" required="" name="email">
- <input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
- </div>
- <div class="form-group">
- <input type="password" class="form-control" placeholder="密码" required="" name="pwd">
- </div>
- <button type="submit" class="btn btn-primary block full-width m-b">登 录</button>
- <p class="text-muted text-center"> <a href="login.html#"><small>忘记密码了?</small></a> | <a href="{{URL('/register')}}">注册一个新账号</a>
- </p>
- </form>
- </div>
- </div>
$validator->fails() 验证都符合规则返回false 不符合规则返回true
注:转自woshihaiyong168的博客