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();
        }
  • 相关阅读:
    文件上传长度限制
    js之图片放大
    Jquery中$与$.fn的区别
    取消svn和文件的关联
    Java——如何创建文件夹及文件,删除文件,文件夹
    SQL语法
    linux环境运行java项目并有外部引用jar
    Eclipse-与Centos远程调试
    Eclipse-远程调试
    使用java代码执行linux命令
  • 原文地址:https://www.cnblogs.com/zxf100/p/6773554.html
Copyright © 2011-2022 走看看