thinkphp 验证码功能(验证验证码)

index.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>

    </style>
</head>
<div class="">
    <p class="verify_info"></p>
    <label for="verify">验证码:</label>
    <input id="verify" name="verify" type="text"/>
    <img id="verify_img" src="{:U('login/verify',array())}">
    <button id="login">登陆</button>
</div>
</body>
<script src="__JS__/jquery.min.js"></script>
<script>

    //刷新验证码函数
    function reVerify(){
        var verifyURL = "login/verify";
        var time = new Date().getTime();
        $("#verify_img").attr({
            "src" : verifyURL + "/" + time
        });
    }

    //点击图片刷新验证码
    $("#verify_img").click(function() {
        reVerify();
    });




    //判断验证码长度
    $('#verify').keyup(function(){
        var verifyLength = $('#verify').val().length;
        if(verifyLength != 2 ){
            $('.verify_info').text('验证码长度必须为2位');
        }else{
            $('.verify_info').text('');
        }
    });

    //验证验证码是否正确
    $('#login').click(function(){
        $.post("login/check_verify",{
            code : $("#verify").val()
        },function(data){
            if(data == true){
                alert('登陆成功,准备跳转到主页');
            }else{
                alert('验证码不正确');
                reVerify(); //调用刷新验证码函数
            }
        });
    });

</script>
</html>


controller

login / verify


<?php
/**
 * Created by PhpStorm.
 * User: outusi
 * Date: 15/9/17
 * Time: 上午9:28
 */
namespace Home\Controller;
use Think\Controller;
use Think\Verify;

class LoginController extends Controller{


    public function index(){

        $this->display();
    }


    /* 生成验证码 */
    public function verify()
    {
        $config = array(
            'fontSize' => 11, // 验证码字体大小
            'length' => 2, // 验证码位数4
            'imageH' => 25,
            'useImgBg' => false,//是否使用背景图片
            'useNoise' => true,//关闭验证码杂点
            'useCurve' => false,//取消曲线混淆
            'codeSet'=> '0123456789',
            'bg' => array(200,200,200),
        );
        $Verify = new Verify($config);
        $Verify->entry();
    }

    /* 验证码校验 */
    public function check_verify($code, $id = '')
    {
        $verify = new \Think\Verify();
        $res = $verify->check($code, $id);
        $this->ajaxReturn($res, 'json');
    }
}



版权声明:本文为scenewood原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。