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里面也存 ...
随机推荐
- Cloudera
官方文档: http://www.cloudera.com/content/cloudera/en/documentation/core/latest/ 博客教程 http://www.wangyon ...
- nightwatch 切换窗口
.switchWindow() Change focus to another window. The window to change focus to may be specified by it ...
- ruby 作为嵌入脚本时使用的注意事项
近期一直在採坑... 假设是作为嵌入式脚本使用ruby的话... 一定会遇到这2个问题... gem安装的,无法在嵌入时使用..为啥.? 由于你没require 'ruby gem' 出现 找不到 E ...
- 求解复数组 中模较大的N个数
//求解复数组 中模较大的N个数 void fianN_Complex(Complex outVec[], int& len, std::vector<int>& inde ...
- PHP如何识别系统语言或浏览器语言
preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); $lang = $matches[1]; switc ...
- Redis系列-存储篇list主要操作函数小结(转)
在总结list之前,先要弄明白几个跟list相关的概念: 列表:一个从左到右的队列,个人理解更类似于一个栈,常规模式下,先进列表的元素,后出. 表头元素:列表最左端第一个元素. 表尾元素:列表最右端的 ...
- Xenomai 3 migration
Xenomai 3 的rtdm驱动更像一般的Linux驱动,named device会在/dev/rtdm/xxx创建一个设备文件.而用户空间使用时,写得来也和Linux的一般char设备相似,ope ...
- 如何将linux服务器作为文件服务器
在开发过程中想要使用linux服务器作为文件服务器,可以通过 IP+文件名来获取文件信息,比如http://localhost/banner/a.jpg.设置过程如下 1.安装apache2 sudo ...
- Maven中央仓库地址(实用版)
最近做项目的时候,一直发现常用的oschina maven源一直都没有反应,后面发现原来oschina竟然关闭了maven源服务,后面经同事推荐了阿里云的maven源,这速度杠杠的 Maven 中央仓 ...
- C# WinForm退出方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中 ...