thinkPHP的验证码

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

thinkphp 3.1

----------------------------------------------------------------------------------------------

首先,在写Action文件,如:IndexAction.class.php.
<?php  
class IndexAction extends Action{  
    //显示验证码  
    public function verifyTest() {  
      $this->display();  
    }  
      
    //检验验证码是否正确  
    public function verifyCheck() {  
      //防止页面乱码  
          header(‘Content-type:text/html;charset=utf-8‘); 
        
      if (md5($_POST[‘verifyTest‘]) != Session::get(‘verify‘)) {  
        echo ‘验证码错误‘;  
      }  
      else {  
        echo ‘验证码正确‘;  
      }  
    }  
      
    // 生成验证码  
    public function verify() {  
            import("ORG.Util.Image");  
            Image::buildImageVerify();  
    }  
}  
?>
在对应的模板文件:Tpl\default\index目录下新建文件verifyTest.html,内容如下:
<script type=‘text/javascript‘> 
//重载验证码  
function freshVerify() {  
  document.getElementById(‘verifyImg‘).src=‘__URL__/verify/‘+Math.random();  
}  
</script> 
<form method=‘post‘ action=‘__URL__/verifyCheck‘> 
<input type=‘text‘ name=‘verifyTest‘> 
<img style=‘cursor:pointer‘ title=‘刷新验证码‘ src=‘__URL__/verify‘ id=‘verifyImg‘ onClick=‘freshVerify()‘/> 
<button type=‘submit‘>确定</button> 
</form>

thinkphp 3.2

------------------------------------------------------------------------------------------------------------

首先,在写控制器文件,如:IndexController.class.php.

<?php

namespace Home\Controller;

use Think\Controller;

class IndexController extends HomeController {

//显示验证码

public function index(){

$this->display();

}

// 生成验证码

public function verify() {

$verify = new \Think\Verify();

$verify->entry(1);

}

}

?>

在对应的模板文件:Views\Index\目录下新建文件index.html,内容如下:

<script type=‘text/javascript‘>

//重载验证码

function freshVerify() {

document.getElementById(‘verifyImg‘).src=‘{:U("Index/verify")}?‘+Math.random();

}

</script>

<form method=‘post‘ action=‘__URL__/verifyCheck‘>

<input type=‘text‘ name=‘verifyTest‘>

<img style=‘cursor:pointer‘ title=‘刷新验证码‘ src=‘{:U("Index/verify")}‘ id=‘verifyImg‘ onClick=‘freshVerify()‘/>

<button type=‘submit‘>确定</button>

</form>

时间: 2024-10-20 09:10:41

thinkPHP的验证码的相关文章

&lt;转&gt;用thinkPHP实现验证码的功能

许多系统的登录都有验证码,而如果使用thinkPHP框架搭建网站的话,验证码的生成和验证就比较容易了 1.生成验证码 thinkPHP有对应生成验证码的方法 要使用验证码,需要导入扩展类库中的ORG.Util.Image类库和ORG.Util.String类库.我们通过在在模块类中增加一个verify方法来用于显示验证码: Public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify(); } 2.验证验证

用thinkPHP实现验证码的功能

许多系统的登录都有验证码,而如果使用thinkPHP框架搭建网站的话,验证码的生成和验证就比较容易了 1.生成验证码 thinkPHP有对应生成验证码的方法 要使用验证码,需要导入扩展类库中的ORG.Util.Image类库和ORG.Util.String类库.我们通过在在模块类中增加一个verify方法来用于显示验证码: Public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify(); } 2.验证验证

ThinkPHP之验证码的使用

ThinkPHP中已经提供了验证码的生成以及验证的功能.下面介绍如何使用验证码.编程的时候还是采用MVC的方式 View层 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <form action

thinkphp 动态验证码

<?php namespace Home\Controller; use Think\Controller; class TestController extends Controller { public function test() { $y=D("YongHu"); $arr=array( array('uid','require','用户名不能为空!'), //表单验证 ); if($y->validate($arr)->create()) //使用vali

Thinkphp 5 验证码无法正常显示的排错以及解决方案 【已解决】

Thinkphp 安装 topthink/think-captcha 验证码类库后,就可以使用 {:captcha_img()} 显示验证码了, 具体官网的教程请查看如下链接: https://www.kancloud.cn/manual/thinkphp5/154295 但是有很多人第一次操作都会因为各种原因而无法正常的显示验证码图片,以下我总结了所有可能导致无法显示验证码图片的原因以及对应的解决方法,仅供参考. 一.GD 库问题 打开 F12 查看控制台的报错,如果是 500,则代表服务器问

Thinkphp中验证码的使用以及验证的实现

<input class="TxtValidateCodeCssClass" id="captcha" name="captcha" type="text"> -----------验证码的输入框 <img src="{$smarty.const.__CONTROLLER__}/verifyImg" onclick="this.src='{$smarty.const.__CONT

thinkphp中文验证码不能显示的问题

使用tp框架里的验证码,数字验证码能很好的显示出来,下面是实现的函数 1 function verify(){ 2 import("ORG.Util.Image"); 3 4 return Image::buildImageVerify();//数字验证码 5 6 //return Image::GBVerify();//中文验证码 7 } 模板中的调用 <img src="{$Think.const.__URL__}/verify" /> 显示的效果

thinkphp 检测验证码

/** * 检测验证码 * @param integer $id 验证码ID * @return boolean 检测结果 */function check_verify($code, $id = 1){ $verify = new \Think\Verify(); return $verify->check($code, $id);}

THINKPHP源码学习--------验证码类

TP3.2验证码类的理解 今天在学习中用到了THINKPHP验证码,为了了解究竟,就开始阅读TP验证码的源码. 源码位置:./ThinkPHP/Library/Think/Verify.class.php 首先分段来阅读源码 1.namespace Think; Class Verify表示Thinkphp命名空间下的Verify类 2. protected $config = array( 'seKey'    => 'ThinkPHP.CN', // 验证码加密密钥 'codeSet'  =