thinkphp 验证码 的使用小结

yipeiwu_com5年前PHP代码库

 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出现web系统多域名登录失败的解决方法

本文实例讲述了php出现web系统多域名登录失败的解决方法,分享给大家供大家参考。具体分析如下: 下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。 这里需要注意的是:加解密一定需...

PHP获取文件的MD5值并判断是否被修改的例子

由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。 复制代码 代码如下: if(isset($_FILES['multimedia'])...

php数组函数序列之array_search()- 按元素值返回键名

array_search()定义和用法 array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回...

PHP函数超时处理方法

本文实例讲述了PHP函数超时处理方法。分享给大家供大家参考,具体如下: register_shutdown_function Registers the function named b...

在smarty中调用php内置函数的方法

相信有很多朋友还不知道,可以在smarty模板里调用php的内置函数,我们一起来看看它的用法。 模板书写: {'param1'|functionName:'param2':'param3...