ThinkPHP之中已经封装好了验证码的调用,但是关于手册,缺失了HTML之中以及、实际操作之中的点击ajax就会刷新验证码ajax代码;现在分享一下;看客老爷们注意啦!

放大招啦!!!三分归元气---》》》

在Indexcontroller.class.php里面,控制器中是酱紫的(传入参数不作介绍):

  public function verify()
     {
         $config = array(
             'fontSize'    =>    35,   // 验证码字体大小
             'length'      =>    4,     // 验证码位数
             'useNoise'    =>    false, // 关闭验证码杂点
             'useCurve'    =>    false, // 关闭曲线干扰
         );
         $Verify = new \Think\Verify($config);
         $Verify->entry();
     }

HTML中是酱紫调用的

 <div class="contact_r col-md-4">
    <label class="contact_rc"><span><input class="inp_yzm" type="text" value="验证码" name='data[code]'  ></span></label>
    <img class="yzmPic" src="{:U('Index/verify')}" id="verify-img">
</div>

为了实现点击验证码即刷新:

 <script type="text/javascript">
     $(document).ready(function(){
          //点击刷新验证码
         var verifyUrl = $('#verify-img').attr('src');
         $('#verify-img').click(function () {
          $(this).attr('src', verifyUrl + '?' + Math.random());
         });
     })
 </script>

现在就是在接收到POST过来(当然是POST验证码的数据的)控制器之中验证验证码了

 $input=I('post.');

 $data['code']=$input['data']['code'];

 if(!check_verify($data['code'])){
                             $this->error('验证码错误',U('Index/index'),3);exit();
                         }

只要一个页面只有一个验证码的,在任何页面都是可以这样用的;都是调用同一个方法生成验证码;都是同一个方法验证验证码;完全不用考虑验证码的ID什么的;

上面习惯性地写上ThinkPHP之中自带的I方法过滤的;防SQL注入;就像在新浪博客里面你输入的script标签的东西全部都会被置换为空啊,兄弟

ThinkPHP之中的验证码的小示例的更多相关文章

  1. ThinkPHP之中的事务回滚

    小李子 获取thinkphp之中执行的SQL: 1.用调试模式的追踪trace功能: 2.代码: $user_type=D('user_type'); $datass=array('school_id ...

  2. 在IIS下部署Thinkphp项目,验证码不能显示的解决办法

    由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...

  3. ReactNative新手学习之路06滚动更新ListView数据的小示例

    本节带领大家学习使用ListView 做一个常用的滚动更新数据示例: 知识点: initialListSize={200} 第一次加载多少数据行 onEndReached={this.onEndRea ...

  4. ThinkPHP之中getlist方法实现数据搜索功能

    自己在ThinkPHP之中的model之中书写getlist方法,其实所谓的搜索功能无非就是数据库查询之中用到的like  %string%,或者其他的 字段名=特定值,这些sql语句拼接在and语句 ...

  5. ThinkPHP之中的图片上传操作

    直接上个例子,其中包括有单图片文件上传.多图片文件上传.以及删除文件的一些操作.放置删除数据库的时候,仅仅删除掉了数据库之中的文件路径.而不是一并删除服务器之中的文件.放置服务器爆炸... TP里面c ...

  6. MVC客户端验证的小示例

    MVC客户端验证的小示例 配置客户端验证的可用性: <configuration> <appSettings>  <add key="ClientValidat ...

  7. ThinkPHP简单的验证码实现

    ThinkPHP简单的验证码实现 写一个最简单的TP验证码. 写Controller 首先在Controller/IndexController.class.php(简称Index)文件中编辑: &l ...

  8. 【.Net】Socket小示例

    引言 项目中用到了Socket,这里做个控制台小示例记录一下. Client 客户端的Receive用了异步方法,保持长连接,可以随时发送消息和响应服务端的消息,如下 static string Cl ...

  9. 腾讯云短信 nodejs 接入, 通过验证码修改手机示例

    腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考:腾讯云短信文档国内短信快速入门qcloudsms Node.js SDK文档中心>短信>错误码 nodejs sdk 使用示 ...

随机推荐

  1. selenium启动firefox、ie、chrome各浏览器方法

    1.启动firefox浏览器 a.如果你的本地firefox是默认路径安装的话,如下方式即可启动浏览器 WebDriver driver = new FirefoxDriver(); driver.g ...

  2. bitmap size exceeds VM budget

    bitmap size exceeds VM budget we can avoid this error by the following parts:1  its not how much ima ...

  3. systemstate dump 介绍

    systemstate dump 介绍 By Janezhang-Oracle on 十二月 13, 2012 当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate ...

  4. telnet登录路由器启动服务的shell脚本

    因为在测试中经常要telnet登录到路由器中去配置环境启动路由器,每次都输入一遍命令太麻烦了,想着写一个shell脚本实现自动登录.配置环境.启动服务的过程. 脚本实现是使用expect来实现的,所以 ...

  5. 【Unity Shaders】学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert

    [Unity Shaders]学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert 转载请注明出处:http://www.cnblogs.com/-867259 ...

  6. Gradle用户指南(章8:依赖关系管理基础)

    章8:依赖关系管理基础 本章将介绍一些gradle依赖关系管理的基础 什么是依赖关系管理? 简略的说,依赖管理是由两部分组成的.首先,gradle需要知道你要构建或者运行的项目,以便找到它们.我们将这 ...

  7. 简单的as3操作xml

    package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import ...

  8. Xcode清缓存

    前往-->按住option键进入资源库-->Developer-->Xcode-->DerivedData   删除里面的文件就行了

  9. linux使用flock文件锁解决crontab冲突问题

    * * * * * flock -xn /dev/shm/redis.lock -c "/usr/local/bin/redis-server" 可以用flock命令,配合使用rs ...

  10. Linux下软件安装,卸载,管理

    一. 软件安装包的类型 通常Linux应用软件的安装有五种: 1) tar+ gz包,如software-1.2.3-1.tar.gz.     他是使用UNIX系统的打包工具tar打包的. 2) r ...