thinkphp不仅封装了验证规则

还封装了验证码

文件的位置是ThinkPHP\Library\Think\Verify.class.php

下面简单的说一下如何使用

我们现在控制器里新建一个方法

function verifyImg(){
//以下类Verify在之前并没有include引入
//走自动加载Think.class.php autoload()
$config = array(
'imageH' => 24, // 验证码图片高度
'imageW' => 105,
'fontSize' => 12,
'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
'length' => 4, // 验证码位数
);
$verify = new \Think\Verify($config);
$verify -> entry();
}

在前台页面,验证码的图片地址只需要请求这个方法就行了

<img src="{$smarty.const.__CONTROLLER__}/verifyImg"  alt="" />

用户提交表单到我们控制器下的Login方法

现在需要判断验证码是否正确

function login(){
if(!empty($_POST)){
//验证码校验
$verify = new \Think\Verify();
if(!$verify->check($_POST['captcha'])){
//echo "验证码错误";
$this -> assign('msg','验证码错误');
} else { }
}
$this -> display();
}

thinkphp验证码的使用的更多相关文章

  1. ThinkPHP验证码类

    //ThinkPHP验证码类使用$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 3, // 验证码位数 'useNois ...

  2. thinkphp验证码(总结之后,效率非常好)

    thinkphp验证码(总结之后,效率非常好) 一.总结 1.总结:总结之后,效率非常好,复习的时候也才方便,也能深入到细处,非常方便建立熟悉感和突破使用困境 2.验证码使用中文集或者繁体集设置:这个 ...

  3. thinkphp验证码不现实多半是bom惹的祸

    thinkphp 验证码不现实多半是bom惹的祸,下面是驱除bom的代码: 链接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5 免费 ...

  4. ThInkPHP验证码不显示,解决方法汇总

    出现ThInkPHP验证码不显示的情况 官方提示如下:如果无法显示验证码,请检查:① PHP是否已经安装GD库支持:② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出):(打开验证码文件为 ...

  5. thinkphp验证码

    thinkphp自带验证码 前端页面: <div style="position:absolute;z-index:3;top:160px;left:180px;"> ...

  6. Thinkphp验证码异步验证第二次及以后验证,验证错误----待解决

    今天进行差错时遇到的问题.别人的回答----链接(http://www.thinkphp.cn/topic/28968.html) 3.2.3版本里的check方法会在第一次验证正确后清除SESSIO ...

  7. thinkphp验证码使用

    在thinkphp中使用验证码很容易,只要调用thinkphp现有的方法就可以.当然,php的GD库肯定是要开的(就是在php.ini中要加载gd模块). thinkphp 3.1 --------- ...

  8. thinkphp 验证码的使用

    在thinkphp中使用验证码很容易,只要调用thinkphp现有的方法就可以.当然,php的GD库肯定是要开的(就是在php.ini中要加载gd模块). thinkphp 3.2 --------- ...

  9. Thinkphp 验证码、文件上传

    一.验证码 验证码参数 例题:登录时验证下验证码 LoginController.class.php <?php namespace Home\Controller; use Think\Con ...

随机推荐

  1. postgresql 常用速查

    中文资料 中文资料 /**gp中的基本sql语法**/ --删除表 drop table testtb; --创建表 CREATE TABLE testtb ( id integer, "n ...

  2. vue实现一个简单的选项卡

    用vue来实现一个小的选项卡切换,比之前要简单.方便很多. <!DOCTYPE html> <html lang="en"> <head> &l ...

  3. Ubuntu 16.04及以上 安装/卸载 Docker-CE

    前言 本文仅针对Ubuntu 18.10.18.04.16.04的x86_64的OS与架构下的Docker-CE的安装 卸载老板本 如果已安装,请卸载它们: sudo apt-get remove d ...

  4. Linux下删除命令 硬盘空间查看... 常用命令

    (此命令请慎重使用) 使用rm -rf命令即可. 使用rm -rf 目录名字 命令即可 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思    (警告:不作任何 ...

  5. C# Winform中慎用Application.DoEvents

    private void Add() { ; i < ; i++) { Button button = new Button(); button.Width = ; button.Height ...

  6. buildroot构建项目(八)--- u-boot 2017.11 适配开发板修改 5 ---- 系统启动初始化之五

    执行完 board_init_f 后,跳回到 crt0.S中继续执行汇编语言 ldr r0, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp, ...

  7. java生成TXT

    1.由于公司需要生成如下格式TXT: var ovr_parameters={ "changeMainVideoList": [ ], "indexList": ...

  8. Faster rcnn代码理解(3)

    紧接着之前的博客,我们继续来看faster rcnn中的AnchorTargetLayer层: 该层定义在lib>rpn>中,见该层定义: 首先说一下这一层的目的是输出在特征图上所有点的a ...

  9. k64 datasheet学习笔记3---Chip Configuration之Clock modules

    1.前言 本文主要讲述chip configure之clock配置相关的内容,主要包含如下三个部分: MCG configuration:Multipurpose clock generator OS ...

  10. Device Tree常用方法解析【转】

    转自:https://blog.csdn.net/airk000/article/details/21345159 Device Tree常用方法解析 Device Tree在Linux内核驱动中的使 ...