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. Java编程思想 学习笔记5

    五.初始化与清理 1.用构造器确保初始化  在Java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化.创建对象时,如果其类具有构造器,Java就会在用户有能力操作对象之前自动调用相应的构造 ...

  2. adb 安装apk到只当设备

    1.adb devices 2,选择指定的设备,如上面的那个 然后:adb -s 292be8597d94 install *apk

  3. keepalive+nginx 热备跟负载均衡

    结构图 keepalived配置 master跟backup除了state跟优先级,其它一样,优先级master需大于backup ! Configuration File for keepalive ...

  4. <table>居中的一种方法

    <div title="主页" data-options="iconCls:'icon-house'"> <center> <ta ...

  5. Android学习笔记——Content Provider(一)

    Content Provider是Android系统四大组件之一: 官方的定义是:A Content Provider manages access to a central repository o ...

  6. ROS学习笔记(一) # ROS参数服务器

    参考 roscpp/Overview/Parameter Server 0. 概述 ROS参数服务器能够保存 string, int, float, double, bool, list, dicti ...

  7. Python中【__all__】的用法

    Python中[__all__]的用法 转:http://python-china.org/t/725 用 __all__ 暴露接口 Python 可以在模块级别暴露接口: __all__ = [&q ...

  8. freeRTOS中文实用教程3--中断管理之中断服务例程中使用队列

    1.前言 消息队列不仅可以用于事件通信,还可以用来传递数据 2.实例说明消息队列的执行过程 3.主要API API名称 说明 参数 返回值 xQueueSendFromISR()完全等同于 xQueu ...

  9. 在12C上创建wm_concat函数

    11gr2和12C上已经摒弃了wm_concat函数,当时我们很多程序员在程序中确使用了该函数,导致程序出现错误,为了减轻程序员修改程序的工作量,只有通过手工创建个wm_concat函数,来临时解决该 ...

  10. dell r720服务器raid5安装centos6.5系统

    服务器型号R720 已经配置好了raid,需要安装centos6.5系统 1.开机,按F10,进入系统引导界面,选择加载系统选项,并选择redhat 6.7选项 系统提示不支持,选择仍然继续,根据提示 ...