现在的位置: 首页 > 综合 > 正文

thinkphp 验证码 Verify

2014年06月06日 ⁄ 综合 ⁄ 共 887字 ⁄ 字号 评论关闭

thinkphp3.2把验证码类放到核心目录里面了

ThinkPHP\Library\Think\Verify.class.php 

Verify类对外只暴露两个方法

entry($id = '')  

生产验证码:输出验证码并把验证码的值保存的session中

不传id时保存如下

$session['verify_code'] = $code; // 把校验码保存到session
$session['verify_time'] = $_SERVER['REQUEST_TIME'];

传id时保存如下

$session[$id]['verify_code'] = $code; // 把校验码保存到session
$session[$id][['verify_time'] = $_SERVER['REQUEST_TIME'];

验证验证码:对比$code(用户传入的验证码)和session中的值对比

check($code, $id = '')

测试如下

<?php

namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller {

    //显示验证码
    public function index() {
        $Verify = new \Think\Verify();
        $Verify->entry();
    }

    //模拟验证
    public function verify() {
        $code = $_REQUEST['code'] = 'wnmfm';
        $Verify = new \Think\Verify();
        if ($Verify->check($code)) {
            echo '验证通过';
        } else {
            echo '验证失败';
        }
    }

}

Verify类构造函数__construct($config = array()) 去合并配置信息

创建验证码时可以写成如下配置指定生产大小

        $config = array(
            'imageH' => 300, // 验证码图片高度
            'imageW' => 500, // 验证码图片宽度
        );
        $Verify = new \Think\Verify($config);
        $Verify->entry();

抱歉!评论已关闭.