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