laravel框架——验证码(第一种方法)
一、在框架根目录下下载图形验证码的组件
composer require gregwar/captcha=1.*
二、控制器代码
use Gregwar\Captcha\CaptchaBuilder;//使用 public function admin_log()//生成验证码且展示的方法
{
$builder = new CaptchaBuilder;
$builder->build();
$code = $builder->inline(); //获取图形验证码的url
session()->put('piccode', $builder->getPhrase()); //将图形验证码的值写入到session中
return view('Bigone/admin_log',['code'=>$code]);
}
三、视图代码
<tr>
<td>验证码</td>
<td><input name="captcha" type="text" placeholder="请输入验证码"></td>
<td><img src="{{$code}}" height="36" width="80"></td>
</tr>
四、验证
public function admin_login(Request $request)
{
$data = $request->all();
$captcha = $data['captcha'];
$code = session()->get('piccode');
if($captcha == '')
{
echo "<script>alert('请输入验证码!');</script>";
return $this->admin_log();
exit();
}
elseif($captcha!=$code)
{
echo "<script>alert('验证码错误!');</script>";
return $this->admin_log();
exit();
}
else
{
$user_pass = md5($data['user_pass']);
$res = DB::select("select * from pzq_sysuser where user_name = '{$data['user_name']}' and user_pass = '$user_pass'");
if($res)
{
echo "<script>alert('登陆成功!');</script>";
return $this->index_show();
}
else
{
echo "<script>alert('登陆失败,请检查用户名和密码!');</script>";
return $this->admin_log();
}
}
}
laravel框架——验证码(第一种方法)的更多相关文章
- Laravel框架定时任务2种实现方式示例
本文实例讲述了Laravel框架定时任务2种实现方式.分享给大家供大家参考,具体如下: 第一种 1.生成一个commands文件 > php artisan make:command test ...
- [moka同学笔记]yii2.0小物件的简单使用(第一种方法)
这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...
- iOS 清理缓存功能实现第一种方法
添加一个提示框效果导入第三方MBProgressHUD #import "MBProgressHUD+MJ.h" /** * 清理缓存第一种方法 */ -(void)clearCa ...
- Qt5.9一个简单的多线程实例(类QThread)(第一种方法)
Qt开启多线程,主要用到类QThread.有两种方法,第一种用一个类继承QThread,然后重新改写虚函数run().当要开启新线程时,只需要实例该类,然后调用函数start(),就可以开启一条多线程 ...
- Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。
1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...
- Laravel框架中的make方法详解
为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...
- 线程开启的第一种方法:通过创建Thread的子类的对象的方式
package cn.itcast.demo16.demo06.Thread;/** * @author newcityman * @date 2019/7/22 - 21:47 */public c ...
- Androidclient和server端数据交互的第一种方法
网上有非常多样例来演示Android客户端和server端数据怎样实现交互只是这些样例大多比較繁杂,对于刚開始学习的人来说这是不利的.如今介绍几种代码简单.逻辑清晰的交互样例,本篇博客介绍第一种: 一 ...
- laravel框架——验证码(第二种方法)
开发环境: laravel5.5 php7.1.11 mysql 一.安装扩展包 ,安装前确认当前环境支持composer(出现如下图所示则安装成功) $ composer require " ...
随机推荐
- vghyj
2017*****1012:我是康迪:我的爱好是计算机:我的码云个人主页是:https://gitee.com/kdkdkdkd我的第一个项目地址是:https://gitee.com/kdkdkdk ...
- Mysql集群原理
一. 主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在:如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没 ...
- vi命令复制粘贴
2.复制粘贴 yy :复制当前行 p :粘贴到光标所在行的下一行
- 牛客随笔(c++)
1.关于指针的字节大小: 当为32位系统时大小为4字节,64位系统时大小为8字节: #include<iostream> using namespace std; int main() { ...
- Hydra(爆破神器)
PS:这款暴力密码破解工具相当强大,支持几乎所有协议的在线密码破解,其密码能否被破解关键在于字典是否足够强大.对于社会工程型渗透来说,有时能够得到事半功倍的效果.本文仅从安全角度去探讨测试,使用本文内 ...
- 惨痛第十届蓝桥杯总结(附录蓝桥省赛知识点总结)-C++ B组
虽然目前距离蓝桥省赛仅仅过去一天但昨天下午和大神对答案的感觉依旧..... 现在深刻里理解到了为啥大神老是说咱们蓝桥叫 阅读理解杯(现在我非常认同这种说法啊...) 虽然第一次参加,赛前紧张提前30分 ...
- HDFS组件性能调优:数据平衡
生产系统中什么情况下会添加一个节点呢? 1 增加存储能力 disk 2 增加计算能力 cpu mem 如果增加是的是存储能力,说明存储已接近饱和或者说过段时间就会没有剩余的空间给作业来用.新加的节点存 ...
- SQL- @@ROWCOUNT -返回上一行执行影响的行行数
DECLARE @AFFECT INT declare @t table(name nvarchar(20),qy nvarchar(20),je int)insert into @t select ...
- 为fastdfs文件服务器新增一个storage
一.前言: 前期,已经搭建好了一套fastdfs文件服务器,一个tracker和一个storage,且部署在同一台服务器上,已经正式投入运行快半年了,1T的空间现在只剩下100G容量了,现在需要扩容, ...
- 【JavaScript】数组
[声明一个数组]var a=[1,1,1]; [定义数组的长度]var a=new Array(2); [特殊数组]arguments[0][可以不用声明,当数组内没有东西时可以直接通过方法的参数自动 ...