zoukankan      html  css  js  c++  java
  • 使用ThinkPHP实现生成/校验验证码功能

    首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数

    1:check() 校验验证码是否正确

    2:entry()输出验证码并把验证码的值保存的session中

    3:authcode() 加密验证码(此方法在check()方法中被调用)

    控制器生成验证码代码:

    //验证码
        function verifyImg(){
    
            //验证码配置
            $cfg = array(
               'imageH' => 30,   // 验证码图片高度
               'imageW' => 100,  // 验证码图片宽度
               'fontSize' => 15, // 验证码字体大小(px)
               'length' => 4,    // 验证码位数
               'fontttf' => '4.ttf',  // 验证码字体,不设置随机获取
            );
    
            //实例化Verify类 自动调用构造函数,把$cfg信息传给$config
            $verify = new Verify($cfg);
            $verify -> entry();    //输出验证码
        }

    前台显示验证码

    <!--分组/控制器/方法-->
    <
    img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src='<{$smarty.const.__CONTROLLER__}>/verifyImg/'+Math.random()" alt="验证码" />

    控制器校验证码(以登陆为例)

    //登陆
        function login(){
           
           //两个逻辑:展示,收集
            if (!empty($_POST)) {
    
                $verify = new Verify();
    
                //接收验证码
                $captcha = $_POST['captcha'];
                //check()方法校验验证码
                if ($verify->check($captcha)) {
                    echo "正确";
                }else{
                    echo "错误";
                }
            }
    
           //调用view视图
           $this->display();
        }
  • 相关阅读:
    计算机组成原理_存储器
    常用CMD命令
    swiper及其父级隐藏之后轮播失效问题
    canvas生成海报
    移动端h5 实现多个音频播放
    vuex的一些学习
    关于H5的一些杂思细想(一)
    vue Error: No PostCSS Config found in
    vue路由传参的三种方式区别(params,query)
    vue-cli+mock.js+axios模拟前后台数据交互
  • 原文地址:https://www.cnblogs.com/zxf100/p/6773554.html
Copyright © 2011-2022 走看看