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里面也存 ...
随机推荐
- 微信小程序 - 传参的几种方式
1. navigator navigator?第一参数&第二参数 .... 在传递页面的options可以拿到传递过来的参数 <navigator url='start-test/sta ...
- browsersync按照官网,然后本地配置后,动态监听时不起作用
官方API也未曾标注,要添加文件指向 --files 所以解决方案就是: browser-sync start --proxy "tp5.cn" --files "css ...
- Jquery.ajax报parseerror Invalid JSON错误的原因和解决方法:不能解析
(默认: 自动判断 (xml 或 html)) 请求失败时调用时间.参数有以下三个:XMLHttpRequest 对象.错误信息.(可选)捕获的错误对象.如果发生了错误,错误信息(第二个参数)除了得到 ...
- UTF-8 可变编码格式
转自:http://blog.csdn.net/swedenfeng/article/details/53467720 UTF-8 是一种可变编码格式,长度从一个字节到四个字节,可根据UTF-8字 ...
- 抽象类(abstract)和接口(interface)的区别
1 抽象类是不能被实例化的类,只能作为由其他类继承的基类: 接口则定义了实现某种服务的一般规范(Objective-C中将接口称为“协议”(protocol)),声明了必需的函数和常量,但不指定 ...
- DevOps必备的20款顶级工具
原文地址:http://os.51cto.com/art/201606/512423.htm 开发运维工具与软件开发领域的最佳实践密切相关,也与必要的规范密切相关.在整个开发生命周期涉及到一大批新旧工 ...
- 事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE
● 事件分为三个阶段: 事件捕获 --> 事件目标 --> 事件冒泡 ● 事件捕获:事件发生时(onclick,onmouseover……)首先发生在document上,然后依次传 ...
- AspectJ学习笔记2-Eclipse中AspectJ插件AJDT的正确安装方法
接着之前一篇日志. 这个事情也挺无语的.简单记录一下. 在这里:http://www.eclipse.org/ajdt/ 能够下载最新的Eclipse Plugin.下载解压之后,一般来说.直接把解压 ...
- Chrome + Python 抓取动态网页内容
用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找对应的关键字.如下所示: import urllib2 url="http: ...
- 关于一致/非一致代码段与TSS 关系的个人看法
[0]概念定义 0.1)一致代码段: 简单理解,就是操作系统拿出来被共享的代码段,可以被低特权级的用户直接调用访问的代码, 但是特权级高的程序不允许访问特权级低的数据. 通常这些共享代码,是" ...