zoukankan      html  css  js  c++  java
  • tp框架实现验证码

    今天来看一个小插件。

    tp框架是怎么实现验证码的。

    又到了我们千篇一律的时候了,首先呢,先做一个用来显示的html界面名为:zhuce.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
    </head>
    
    <body><!--form表单post方式传值-->
    <form action="__ACTION__" method="post">
    <!--文本框-->
    <input type="text" name="yzm" />
    <!--验证码图片-->
    <img src="__CONTROLLER__/yzm" id="img" />
    <div><input type="submit" value="验证" /></div>
    
    </form>
    </body>
    </html>

    接下来我们就要去后台写验证码的代码了,是不是很期待?

    往哪里提交,就在哪里验证

    <?php
    namespace HomeController;
    use ThinkController;
    class TestController extends Controller
    {    
            //验证码
            public function zhuce()
        {
            if(empty($_POST))
            {
                $this->show();
            }
            else
            {
                $verify = new ThinkVerify();    
                var_dump($verify->check($_POST["yzm"]));        //check方法里面的第一个参数为用户输入的字符串;第二个参数为$id,标识。
                //这个地方可以用var_dump()方法输出一下进行检测验证码是否输入正确
            }
        }
        
        public function yzm()
        {
            $Verify = new ThinkVerify();
            $Verify->fontSize = 20;        //字体大小
            $Verify->length   = 3;        //显示字符数
            $Verify->fontttf = "5.ttf";            //定义字体
            //$Verify->useImgBg = true;         //定义背景图
            $Verify->useZh = true;         //启用中文验证码(必须引入中文字体文件)
            $Verify->fontttf = "simhei.ttf";    //显示的中文字体类型
            $Verify->entry();
        }
    }    

    这里可以用不同的方法,给图片设置不同的样式

    现在就可以显示验证码了:

    我们再来做一下点击图片切换验证码,只用简单的jquery就可以。

    zhuce.html页面的全部代码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script>
    </head>
    
    <body><!--form表单post方式传值-->
    <form action="__ACTION__" method="post">
    <!--文本框-->
    <input type="text" name="yzm" />
    <!--验证码图片-->
    <img src="__CONTROLLER__/yzm" id="img" />
    <div><input type="submit" value="验证" /></div>
    
    </form>
    </body>
    </html>
    <script>
    $(document).ready(function(e) {
        $("#img").click(function(){
            //因为考虑到浏览器的兼容问题,所以在这里造一个随机数,用随机数来实现点击图片切换。
            var a = Math.ceil(Math.random()*100);
            
            //传一个随机数参数,并无实质作用,只是为了能让浏览器实现点击切换
            $(this).attr("src","__CONTROLLER__/yzm/a/"+a+"");
            })
    });
    
    </script>

    在这里一定要注意:兼容性问题。如果直接重新定义src的话有的浏览器是不支持的,所以我们要用随机数来实现。

    OVER.   不难吧。^_^

  • 相关阅读:
    简练网软考知识点整理-易混概念项目绩效评估与团队绩效评价
    简练软考知识点整理-项目索赔管理
    项目管理工作执行数据和信息流向的一致性
    简练软考知识点整理-确认范围和质量控制
    简练软考知识点整理-项目全面质量管理TQM
    简练网软考知识点整理-项目整体绩效测量基准
    RAID 技术全解
    Centos 7 查看内存占用情况相关命令
    使用xshell连不上ubuntu14.04
    Shell脚本
  • 原文地址:https://www.cnblogs.com/u1020641/p/6228631.html
Copyright © 2011-2022 走看看