laravel5.3注册 登录 退出登录 邮箱找回密码 操作--登录

laravel5.3注册 登录 退出登录 邮箱找回密码 操作–登录

退出登录: 退出登录
找回密码: 找回密码
1,登录路由

a,小编这里注册路由使用了laravel的中间件,如果还有小伙伴不了解中间件,可以去laravel中文网laravel中文网laravel中文网中文网去查看。

Route::group(['namespace'=>'Admin','prefix'=>'admins'],function (){
    //登录路由
    Route::match(['get','post'],'login','LoginController@login');
2,控制器

a,利用laravel的表单验证进行数据处理。
b,利用laravel的验证码进行前端验证,防止恶意攻击。安装验证码
c,安装好验证码以后验证规则很简单,都在控制器里面有注释。

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;
class LoginController extends Controller{
	 //登录路由
    public function login(Request $request){
        if ($request->isMethod('GET')){
            //dd($_SERVER);
            //获取在哪个页面点击的退出登录按钮,在次登录的时候还在此页面。
            //判断一下$_SERVER数组是否存在,如果存在就输出,不存在就输出首页。
            if (empty($_SERVER['HTTP_REFERER'])){
                \Session::put(['paev_page'=>'http://www.he.com/admin/farmManages']);
            }else{
                \Session::put(['paev_page'=>$_SERVER['HTTP_REFERER']]);
            }
            return view('admin.registerLogin');
        }else{
            //表单验证方式
            //接收全部数据
            $values = $request->all();
            //验证规则
            $rules = [
                'user'=>'required',
                'pwd'=>'required',
                'code'=>'required|captcha'
            ];
            //返回提示信息
            $message = [
                'user.required'=>'用户名不能为空',
                'pwd.required'=>'密码不能为空',
                'code.required'=>'验证码不能为空',
                'code.captcha'=>'验证码输入不正确'
            ];
            $validator = \Validator::make($values,$rules,$message);
            if ($validator->passes()){
                //验证成功,去数据库查询
                $user = $request->input('user');
                $pwd = md5(md5($request->input('pwd')));
                //用户名或者邮箱都可以登录
                $sql_user = "select id,`user`,email from `user` where pwd = '$pwd' and (`user` = '$user' or email = '$user')";
                $result = DB::select($sql_user);
                //var_dump($result[0]->user);die();
                if ($result){
                    $data = [
                        'status'=>'0',
                        'info'=>'登录成功',
                        'http'=>'http://www.he.com/admin/farmManages'
                        //'http'=>\Session::get('paev_page')//返回在哪个页面退出的,还在次登录到哪一个页面。//TODO <winner debug>找回密码的时候,登录成功,又返回到找回密码页面了。然而要是用户在购物车的页面退出的,找回密码,这样也不合理。
                    ];
                    /*session(['user_info.id'=>$result->id]);
                    session(['user_info.user'=>$result->user]);
                    session(['user_info.email'=>$result->email]);
                    session(['adminUserInfo'=>$result->user]);*/
                   \Session::put('user',$result[0]->user);
                    //return redirect()->route('farmManages.index');//TODO debug<winner> 这是ajax请求过来的,在network中可以正常跳转,但是url地址不改变。只能把跳转的链接返回回去了。
                    return json_encode($data);
                }else{
                    $data = [
                        'status'=>'1',
                        'info'=>'用户名或者密码输入错误'
                    ];
                    return json_encode($data);
                }
            }else{
                //验证失败,返回错误信息
                return response()->json([
                    'status'=>'4',
                    'info'=>$validator->errors()->first()
                ]);
            }
        }
    }
}
3,视图文件

a,小编已经把完整的登录–注册–找回密码的视图页面上传至登录–注册–找回密码的静态页面

<form id="loginForm">
	<fieldset>
		<label class="block clearfix">
			<span class="block input-icon input-icon-right">
				<input name="user" type="text" class="form-control" placeholder="请输入用户名或者邮箱登录" />
				<i class="ace-icon fa fa-user"></i>
			</span>
		</label>

		<label class="block clearfix">
			<span class="block input-icon input-icon-right">
				<input id="pwd" name="pwd" type="password" class="form-control" placeholder="Password" />
				<i class="ace-icon fa fa-lock"></i>
			</span>
		</label>

		<div class="space"></div>
		<label style="margin-top:-12px;" class="block clearfix">
			<span class="block input-icon input-icon-right">
				<input type="text" class="form-control" name="code" placeholder="输入验证码" />
				<img id="code" style="margin-top:10px;float: right" src="{{ captcha_src('flat') }}" onclick="this.src='/captcha/flat?'+Math.random()" title="点击图片重新获取验证码">
			</span>
		</label>
		<div class="clearfix">
			<label class="inline">
				<input type="checkbox" class="ace" />
				<span class="lbl"> 记住</span>
			</label>

			<button id="login" type="button" class="width-35 pull-right btn btn-sm btn-primary">
				<i class="ace-icon fa fa-key"></i>
				<span class="bigger-110">登录</span>
			</button>
		</div>

		<div class="space-4"></div>
	</fieldset>
</form>

在这里插入图片描述

大家有页面需求,控制器源代码,可以点击链接进行下载,laravel,页面,控制器,路由
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值