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

本文介绍了一个简单的网页登录界面中验证码的生成与验证过程。通过PHP和ThinkPHP框架实现了验证码图片的生成及验证功能,并利用jQuery处理前端交互。文章涵盖了前端HTML、JavaScript代码以及后端PHP逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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');
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值