zoukankan      html  css  js  c++  java
  • 关于tp验证码模块

    转自https://blog.csdn.net/u011415782/article/details/77367280

    ♜ 功能开发

    1).引入第三方扩展包

    • 进行 TP5 的开发,Composer 的使用会成为重要技能,以 windows 为例子,输入命令:
      composer require topthink/think-captcha
    • 完成上述操作,会在以下目录中出现 captcha 的扩展包
      ..vendor	opthink	hink-captcha

    2).前端设置

    • 在前端页面需要显示验证码的位置,补充 {:captcha_img()} 即可,个人代码举例如下:
      <p class="pass-form-item">
              <label class="pass-label">验证码</label>
              <input type="text" name="verifyCode" class="pass-text-input " placeholder="请输入验证码">
            <div>{:captcha_img()}</div>
      </p>

    3). captcha 扩展包代码优化

    • 如果按照上述操作,显示的验证码图片并不能点击刷新,可自己根据需求进行刷新功能设计;或者,建议进行下面的代码优化:
      function captcha_img($id = "")
      {
          $js_src = "this.src='".captcha_src()."'";
          return '<img src="' . captcha_src($id) . '" title="点击更新验证码" alt="点击更新验证码" onclick="'.$js_src.'" />';
          //return '![](' . captcha_src($id) . ')';
      }
    • 打开 ..vendor opthink hink-captchasrchelper.php 文件,替换上面的 captcha_img() 方法代码.
    • 此时的验证码图片即可实现点击 实时刷新 功能.

    4). 后台代码验证

    • 根据前端请求而来的 verifyCode 数据,调用 helper.php 中的 captcha_check() 方法,进行验证。
       if(request()->isPost()){
                  $data = input('post.');
                  if(!captcha_check($data['verifyCode'])) {
                      // 校验失败
                      $this->error('验证码不正确');
                  }
      }

    点击刷新验证码比较简单的编写方式,观察tp5 captcha模块的源码,我们可以发现,在助手函数中,tp5官方把验证码功能封装到了captcha路径之中,所以我们可以通过onclick 访问captcha路径就可以实现点击刷新验证码了

    <img src="{:captcha_src()}" onclick="this.src='/captcha'">
  • 相关阅读:
    Anaconda+Tensorflow环境安装与配置
    计算机视觉(视频追踪检测分类、监控追踪)常用测试数据集
    迁移学习( Transfer Learning )
    matlab函数_连通区域
    GMM的EM算法实现
    对​O​p​e​n​C​V​直​方​图​的​数​据​结​构​C​v​H​i​s​t​o​g​r​a​m​的​理​解
    opencv基于混合高斯模型的图像分割
    LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    视频测试序列(转)
    高职扩招,拿大专学历
  • 原文地址:https://www.cnblogs.com/wiggin-Z/p/11238789.html
Copyright © 2011-2022 走看看