• 关于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'">
  • 相关阅读:
    ASP.NET HTTP404错误怎么办
    ASP.NET HTTP500错误怎么办
    Fireworks如何制作透明窗口PNG
    CSS如何实现自定义鼠标应用到整个网页
    Dreamweaver如何设置自动换行,修改字体
    火狐浏览器缓存区的利用,如何提取火狐缓存的动画
    PHP快速入门 如何配置Apache服务器
    PHP中调用外部命令的方法
    PHP与SQL数据库交互中文乱码怎么办
    [Angular] Angular Attribute Decorator
  • 原文地址:https://www.cnblogs.com/wiggin-Z/p/11238789.html
Copyright © 2020-2023  润新知