thinkphp 验证码 的使用小结


Posted in PHP onMay 07, 2017

 thinkphp中的验证码是可以直接调用的,非常方便,我们看一下 Think 文件夹下 有一个名为verify.class.php的文件

   首先 我们要有一个模板,在view文件夹下写了一个名为 xx.html的文件,里面啥也没写, 这时 我们要在这个文件里面显示出验证码来 

function xx()
{
  $this->show();
}
function yzm()
{
  $yzm=new \Think\verify();
  $yzm->entry();
}

想要验证码显示出来,那么我们就需要调一下yzm方法了,在xx.html中表示为

<div>
  <img src="__CONTROLLER__/yzm" id="img1"/>
</div>

这样就可以把验证码调出来了 ,验证码调出来之后我们需要使用它,那么在xx.html中会有一个input表单  会有验证的按钮

<div>
  <input type="text" id="va"/>
  <input type="button" id="btn"/>
</div>

下面我写的js部分用的是jquery  所以前面必须要引入jquery包的

<script type="text/javascript">
  $("#btn").click(function(){
    var va = $("#va").val();
    $.ajax({
     url:"__CONTROLLER__/yz",
     data:{va:va},
     type:"POST",
     dataType:"TEXT",
     success:function(data){
        if(data)
        {
           alert("验证成功");
        }
       else
          {
             alert("验证失败");
          }     
     }

    });
  })

</script>

现在我们去写yz的方法

function yz()
{
  $yzm=new \Think\verify();
  $va=$_POST["va"];
   $aa=$yzm->check($va);
  $this->ajaxReturn($aa,"eval");
}

 这样写完了之后,我们会发现一个问题 就是点击图片的时候不会自动换,那么我们就要给图片加一个点击事件,每点击一次 就让路径再重新走一遍

$("#img1").click(function(){
//如果只是在除了ie浏览器的其他浏览器上运行 
 $(this).attr("src","__CONTROLLER__/yzm");
//如果要增加其兼容性的话,那么我们就要取一个随机数了

$a=Math.random()*10;
 $(this).attr("src","__CONTROLLER__/yzm/aa"+a);

})
PHP 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
php+ajax实现图片文件上传功能实例
Jun 17 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
php查询及多条件查询
Feb 26 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
PHP 文件写入和读取操作实例详解【必看篇】
Nov 04 PHP
PHP中类与对象功能、用法实例解读
Mar 27 PHP
解析 thinkphp 框架中的部分方法
May 07 #PHP
ThinkPHP 模板引擎使用详解
May 07 #PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 #PHP
Laravel中任务调度console使用方法小结
May 07 #PHP
Laravel实现表单提交
May 07 #PHP
Laravel实现autoload方法详解
May 07 #PHP
PHP中include和require的区别实例分析
May 07 #PHP
You might like
PHP 字符串操作入门教程
2006/12/06 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
img标签中onerror用法
2009/08/13 Javascript
jQuery select控制插件
2009/08/17 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python实现简单的代理服务器
2015/07/25 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
python实现人机五子棋
2020/03/25 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
大学军训感言
2014/01/10 职场文书
安全责任书范文
2014/03/12 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
动物科学专业求职信
2014/07/27 职场文书
python四种出行路线规划的实现
2021/06/23 Python
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
Vue全局事件总线你了解吗
2022/02/24 Vue.js