• thinkphp验证码(总结之后,效率非常好)


    thinkphp验证码(总结之后,效率非常好)

    一、总结

    1、总结:总结之后,效率非常好,复习的时候也才方便,也能深入到细处,非常方便建立熟悉感和突破使用困境

    2、验证码使用中文集或者繁体集设置:这个是非常好设置的, 'useZh'    => true,还有其它的很多设置都可以设置

    3、源代码:查看有哪些设置,或者查看功能,config.php里面给的实在非常有限(只是几个常用的),你的特殊需求的话去源代码那里一看就清楚了

    4、源代码:thinkphp的源代码对我本身而言也是非常简单的,所以不要觉得看框架源代码会浪费时间

    5、captcha的全部功能:里面验证码的类,查看源代码,查看所有功能,路径如下:.vendor opthink hink-captchasrccaptcha.php 里面,thinkphp这些所有功能的源代码都有

    6、研究thinkphp框架源代码:后面要花点时间来研究thinkphp的源代码,可以学到很多东西,而且也可以一天根据它的源代码敲一点

    7、编程的灵性(函数使用):框架的设计者也是人,也是正常的人的思维,而且他们的设计的时候也是按照着简约的思想来设计的,所以就算很多功能你不知道,所以稍微按照框架设计者或者正常人的思维想一下,一般想的都是对的,例如:验证器的验证正误的功能,我们知道thinkphp里面的验证一般都是check,那么想到check或者captcha_check($code)就很轻松了

    8、编程的灵性2(功能设计):整体的框架使用,比如验证码这个功能,那肯定是1、显示验证码图片  2、获取输入的字段  3、检查输入的字段是否正确  这三个步骤来的,所以在使用之前是可以好好想想的,那么实在是事半功倍

    二、thinkphp验证码

             1、首先判断系统是否支持验证码

             2、使用

                       1) 页面中

                                <form action="{:url('check')}" method="post">

                                         <!-- {:captcha_img()} -->

                                         <img src="{:captcha_src()}" alt="">

                                         <input type="text" name="code" id="">

                                         <input type="submit" value="提交">

                                </form>

                       2) 判断验证码

                                $code=input('post.code');

                                // 判断验证码是否正确

                                if (captcha_check($code)) {

                                         echo "okokok";

                                }else{

                                         echo "error";

                                }

             3、验证码相关设置

                       'captcha'=>[

                           'codeSet'  => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',

                           // 验证码字符集合

                           'expire'   => 1800,

                           // 验证码过期时间(s)

                           'useZh'    => false,

                           // 使用中文验证码

                           'zhSet'    => '们以我',

                           // 中文验证码字符串

                           'useImgBg' => false,

                          // 使用背景图片

                           'fontSize' => 25,

                           // 验证码字体大小(px)

                           'useCurve' => true,

                           // 是否画混淆曲线

                           'useNoise' => true,

                           // 是否添加杂点

                           'imageH'   => 0,

                           // 验证码图片高度

                           'imageW'   => 0,

                           // 验证码图片宽度

                           'length'   => 5,

                           // 验证码位数

                           'fontttf'  => '',

                           // 验证码字体,不设置随机获取

                           'bg'       => [243, 251, 254],

                           // 背景颜色

                           'reset'    => true,

                           // 验证成功后是否重置

                       ]

  • 相关阅读:
    declaration may not appear after executable statement in block
    linux 管道通信
    用c语言创建双向环形链表
    bash: ./LM35_make_fs: Permission denied 解决办法
    sunzl is not in the sudoers file.This incident will be reported
    基于嵌入式linux路由转发功能的实现
    关于eth0 eth0:1 和eth0.1关系介绍
    软重启
    Android中Serializable和Parcelable序列化对象详解
    公共技术点(Android 动画基础)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8984308.html
Copyright © 2020-2023  润新知