laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)


laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)

一、总结

一句话总结:

数据库的paginate方法:$data=\DB::table("user")->orderBy("id","desc")->paginate(10);
页面links方法:{{$data->links()}}
分页效果

1、控制器
$data=\DB::table("user")->orderBy("id","desc")->paginate(10);

    // simplePaginate  简化的分页效果
    // paginate  正常分页效果
// 加载用户管理页面
return view('admin.user.index')->with("data",$data);

2、页面中
{{$data->links()}}

 

 

1、lavarel的两种分页效果?

简化分页效果:只有上一页下一页按钮:$data=\DB::table("user")->orderBy("id","desc")->simplePaginate(10);
正常分页效果:还有指定页的按钮 :$data=\DB::table("user")->orderBy("id","desc")->paginate(10);
分页效果

1、控制器
$data=\DB::table("user")->orderBy("id","desc")->paginate(10);

    // simplePaginate  简化的分页效果
    // paginate  正常分页效果
// 加载用户管理页面
return view('admin.user.index')->with("data",$data);

2、页面中
{{$data->links()}}

 

 

2、lavarel中如何使用验证码,比如登录的时候?

引入外部验证码
书写验证码路由:因为验证码使用的很普遍
引入外部验证码

1、把验证码文件夹拷贝到指定目录 (D:\laravel\yzmedu\yzm2\resources)

2、书写路由
    Route::get("admin/yzm","Admin\LoginController@yzm");

3、控制器中生成验证码
    // 引入验证码类
    include "../resources/code/Code.class.php";

    // 实例化验证码类

    $code=new \Code();

    // 生成验证码

    $code->make();

4、获取验证码

    $code->get();

 

 

 

3、lavarel中如何引入一个外部的类,比如验证码类?

include关键字:include "../resources/code/Code.class.php";
引入外部验证码


1、把验证码文件夹拷贝到指定目录 (D:\laravel\yzmedu\yzm2\resources)

2、书写路由
    Route::get("admin/yzm","Admin\LoginController@yzm");

3、控制器中生成验证码
    // 引入验证码类
    include "../resources/code/Code.class.php";

    // 实例化验证码类

    $code=new \Code();

    // 生成验证码

    $code->make();

 

 

 

4、lavarel中如何找到根命名空间?

反斜杠:$code=new \Code();

 

引入外部验证码


1、把验证码文件夹拷贝到指定目录 (D:\laravel\yzmedu\yzm2\resources)

2、书写路由
    Route::get("admin/yzm","Admin\LoginController@yzm");

3、控制器中生成验证码
    // 引入验证码类
    include "../resources/code/Code.class.php";

    // 实例化验证码类

    $code=new \Code();

    // 生成验证码

    $code->make();

 

 

 

 

 

5、验证码点击自动更新如何实现?

js点击事件:点击自动更换img地址:onclick="imgs(this)"
带随机数做参数:不然地址一样,地址不会被更新:obj.src='/admin/yzm?code='+Math.random();
<div class="input-group">
    <span class="input-group-addon"> <span class="glyphicon glyphicon-lock"></span></span>
    <input type="text" class="form-control" name="code" placeholder="请输入验证码">
    <img src="/admin/yzm" onclick="imgs(this)" alt="">
</div>
<script>
    
    function imgs(obj){
        // 更换地址
        obj.src='/admin/yzm?code='+Math.random();
    }
</script>

 

 

    // 验证码方法

    public function yzm(){
        // 引入验证码类
        include "../resources/code/Code.class.php";

        // 实例化验证码类

        $code=new \Code();

        // 生成验证码

        $code->make();
    }

 

 

 

 

6、验证码验证如何实现及原理?

看文档或者看源代码:非常简单,这里是个get函数获取验证码数据,和用户传过来的验证码比较一下即可:$yzm=$code1->get();
验证码原理就是session():可能需要按照需求改一下验证码相关的函数

验证码验证

    // 后台登录处理 public function check(Request $request){ // 接收数据 $name=$request->input("name"); $pass=$request->input("pass"); $code=$request->input("code"); // 判断用户名是否输入 if ($name) { # code... // 判断密码 if ($pass) { # code... // 验证码是否正确 // // 引入验证码类 include "../resources/code/Code.class.php"; // // 实例化验证码类 $code1=new \Code(); // 获取验证码 $yzm=$code1->get(); if ($yzm==strtoupper($code)) { // 获取数据库 if ($data=\DB::table("user")->where('name','=',$name)->first()) { // 将数据库中密码解密 $dataPass=\Crypt::decrypt($data->pass); if($dataPass==$pass){ session(['adminUserInfo'=>['name'=>$name,'id'=>$data->id]]); return redirect('admin'); }else{ return back()->withInput()->with("error","密码错误"); } }else{ return back()->withInput()->with("error","用户名不存在"); } }else{ return back()->withInput()->with("error","验证码有误"); } }else{ return back()->withInput()->with("error","请输入密码"); } }else{ return back()->withInput()->with("error","请输入用户名"); } // exit(); // // 判断 // if ($_POST['name']=='admin' && $_POST['pass']=='123') { // }else{ // return back(); // } }

 

 

7、lavarel的session中可以存储数组数据么?

可以:session(['key' => 'value']);
Route::get('home', function () {
    // 获取 session 中的一条数据...
    $value = session('key');

    // 指定一个默认值...
    $value = session('key', 'default');

    // 存储一条数据至 session 中...
    session(['key' => 'value']);
});

 

 

 

 

 

二、内容在总结中

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM