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里面也存 ...
随机推荐
- 谷歌浏览器插件-html页面js事件查看器
谷歌浏览器插件-html页面js事件查看器 1.下载 下载地址:http://files.cnblogs.com/files/graceup/VisualEvent.zip 解压得到文件:Visual ...
- 【Android】怎样写一个JsBridge
JsBridge 简单介绍 Android JsBridge 就是用来在 Android app的原生 java 代码与 javascript 代码中架设通信(调用)桥梁的辅助工具. 原文地址点这里 ...
- cmake学习之- set
最后更新: 2019-06-06 一.简单介绍 set 和 unset 为一对相反的指令,分别为设置变量以及取消设置变量. 什么是变量? 变量就是用于保存值的存储单元. set 有哪几种? set 有 ...
- PHP面向对象——构造函数、析构函数
在PHP中构造函数和析构函数是固定的,如下: // 构造函数 function __construct([argument1,argument2,...,argumentN]){ /* Class i ...
- 开源项目WebImageView载入图片
项目地址:https://github.com/ZaBlanc/WebImageView 作者对载入图片,以及图片的内存缓存和磁盘缓存做了封装. 代码量不多.可是可以满足一般的载入图片. 先看下项目结 ...
- 01 redis特点及安装使用
一:redis的特点 ()redis是一个开源,BSD许可高级的key-value存储系统.可以用来存储字符串,哈希结构,链表,集合,因此,常用来提供数据结构服务. 二:redis和memcached ...
- 数据挖掘、目标检测中的cnn和cn---卷积网络和卷积神经网络
content 概述 文字识别系统LeNet-5 简化的LeNet-5系统 卷积神经网络的实现问题 深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功.本人在多年之前也曾接触过神经网络.本系 ...
- Epplus 使用案例
//拷贝 sheet.Cells["6:12"].Copy(sheet.Cells["1:2"]); //边框无 sheet.Cells[(i * 6 + i ...
- ios math.h 常用数学函数
1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 double as ...
- pulsar学习笔记1:helloworld
pulsar号称是下一代的消息系统,这二年风光无限,大有干掉kafka的势头,如果想快速体验下,可以按以下步骤在本地搭建一个单机版本:(mac环境+jdk8) 一. 下载 wget https://w ...