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();
        }
  • 相关阅读:
    VB.NET中获取串口列表
    跟着你混,真吃亏!
    [翻译]部署Microsoft .NET Framework Version 3.0(含下载)
    将特定格式的TXT数据文件写入EXCEL
    VB.NET中判断一个数组中是否有重值
    多语言应用程序开发
    .NET 环境下进制间的转换
    初识.NET
    映射Y轴
    Culture Name
  • 原文地址:https://www.cnblogs.com/zxf100/p/6773554.html
Copyright © 2011-2022 走看看