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']);
});
二、内容在总结中
laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)的更多相关文章
- laravel基础课程---9、视图(lavarel的模板语法和tp相比怎样)
laravel基础课程---9.视图(lavarel的模板语法和tp相比怎样) 一.总结 一句话总结: lavarel的模板语法比thinkphp好用很多:和html代码配合的更好 lavarel比t ...
- laravel基础课程---14、表单验证(lavarel如何进行表单验证)
laravel基础课程---14.表单验证(lavarel如何进行表单验证) 一.总结 一句话总结: lavarel的验证的功能比tp要[简单]且[强大]很多 直接控制器中:添加[规则数组]和[修改提 ...
- laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)
laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)
laravel基础课程---11.lavarel的ajax操作(ajax优劣势是什么) 一.总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺 ...
- laravel基础课程---16、数据迁移(数据库迁移是什么)
laravel基础课程---16.数据迁移(数据库迁移是什么) 一.总结 一句话总结: 是什么:数据库迁移就像是[数据库的版本控制],可以让你的团队轻松修改并共享应用程序的数据库结构. 使用场景:解决 ...
- laravel基础课程---8、laravel响应和视图(响应是什么)
laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...
- laravel基础课程---10、数据库基本操作(如何使用数据库)
laravel基础课程---10.数据库基本操作(如何使用数据库) 一.总结 一句话总结: 1.链接数据库:.env环境配置里面 2.执行数据库操作:DB::table('users')->up ...
- laravel基础课程---7、文件处理、闪存、cookie(cookie原理和使用场景)
laravel基础课程---7.文件处理.闪存.cookie(cookie原理和使用场景) 一.总结 一句话总结: 页面请求服务器的时候是把这个页面中所有的cookie都带上了的,cookie里面也存 ...
随机推荐
- ie下div模拟的表格,表头表体无法对齐
现象:ie下,如果某个区域滚动显示表格内容(div模拟的table),表体出现滚动条的时候,会跟表头无法对齐. 解决方法:1.首先需要知道两个高度:表体最大高度height1.目前表体要显示的内容高度 ...
- IOS Audio开发集合
打算每天抽出一点时间学习音频方面的知识,在此做下汇总: 1. 多媒体层预览 根据结构,明确学习内容.
- 在Ubuntu 14.04 64bit中永久添加DNS的方法
DNS信息是由/etc/resolv.conf提供的,它是每次开机时,由/sbin/resolvconf生成的/etc/resolv.conf是/run/resolvconf/resolv.conf的 ...
- js学习总结--DOM2兼容处理重复问题
在解决this问题之后,只需要在每次往自定义属性和事件池当中添加事件的时候进行以下判断就好了,具体代码如下: /* bind:处理DOM2级事件绑定的兼容性问题(绑定方法) @parameter: c ...
- 配置mysql 编码
配置mysql 编码 [client]default-character-set=utf8mb4 default-storage-engine=INNODB [mysql]default-charac ...
- 处理字符串的一些C函数
注意:以下函数都包含在ctype.h头文件中 1.isalpha函数 用来判断得到的参数是不是字母 #include<stdio.h> #include<ctype.h> in ...
- 从0开始学习 GitHub 系列汇总笔记
本文学习自Stromzhang, 原文地址请移步:从0开始学习 GitHub 系列汇总 我的笔记: 0x00 从0开始学习GitHub 系列之[初识GitHub] GitHub 影响力 a.全球顶级 ...
- uwsgi报错:listen queue of socket ...
Linux默认的socket链接为128,uwsgi默人的链接为100 需要修改系统默认的配置参数, 然后修改uwsgi配置:listen参数:1024
- 必会必知git
git必会必知 1 前言 git前身是BitKeeper,但是他不是开源软件,不符合当时开源趋势,于是就会有了开源的git,git开发只用了十天时间.目前git是公司开发必不可少的一个工具,用于多 ...
- WebRTC for android ios开发官方指南
The WebRTC native code package can be found at: https://chromium.googlesource.com/external/webrtc ht ...