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 Home\Controller;
use Think\Controller;
class TestController extends Controller
{
        //验证码
        public function zhuce()
    {
        if(empty($_POST))
        {
            $this->show();
        }
        else
        {
            $verify = new \Think\Verify();
            var_dump($verify->check($_POST["yzm"]));        //check方法里面的第一个参数为用户输入的字符串;第二个参数为$id,标识。
            //这个地方可以用var_dump()方法输出一下进行检测验证码是否输入正确
        }
    }

    public function yzm()
    {
        $Verify = new \Think\Verify();
        $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.   不难吧。^_^

时间: 2025-01-05 02:00:16

tp框架实现验证码的相关文章

6月19 使用tp框架生成验证码及文件上传

ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think/Verify/ttfs/目录下面的字体文件,我们可以指定验证码的字体 汉字的验证码:ThinkPHP/Library/Think/Verify/zhttfs/添加中文的字体格式 更改字体:ttf格式 关于验证码的一些知识点: 1.例题:通过验证码实现用户的登录,并利用jquery实现点击图片验证码

tp框架之验证码

控制器 function yzm() { /*$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 'useImgBg'=>true, 'useZh'=>true, 'fontttf'=>'SIMYOU.TTF', 'zhSet'=>'啊是的分个好就看了' );*/ //$v=new \Think\Verify($config); //随机自己定义的验证码 $v=new \Think\

PHP--TP框架----生成验证码的方式

TP框架----生成验证码的方式 xianshi.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> <

如何运用tp框架编写网站的无刷新登入

为了方便,我们可以重新建立一个名为LoginController.class.php的控制器;其内容如下: <?php namespace Admin\Controller;//设置命名空间 use Think\Controller; class LoginController extends Controller{ public function index(){ //这是登入成功后跳转的界面,需要模板渲染,然后调用 $this->display();//渲染模板 } public func

TP框架---thinkphp基础知识

php框架    发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费

tp框架知识集锦(3.2)

php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳定的运行阶段 项目停止运行(旧项目的人员已经全部离职,新人开发新项目)   二.问题: 1. 多人开发项目,分工不合理,(html   php   mysql) 2. 代码风格不一样,后期维护十分困难 3. 项目生命周期十分短,项目生命没有延续性,造成资源浪费.人员浪费 4. 项目不

tp框架基础知识

作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 Public公用目录   里面放公用的东西比如css js ThinkPHPtp框架核心文件夹.Thinkphp核心文件夹里分为如下 ThinkPHP.php是tp框架的核心类 Common里面存放tp框架里面的函数方法 Conf文件夹里面要注意*代表配置文件特别是convention 文件tp框架

ThinkPHP框架之验证码

TP框架中Think\Verify类可以支持验证码的生成和验证功能.具体文件:ThinkPHP/Library/Think/Verify.class.php 生成验证码 下面是最简单的方式生成验证码: $Verify = new \Think\Verify(); $Verify->entry(); 上面的代码会生成默认的验证码图片并输出,显示如下: 生成的验证码信息会保存到session中,包含的数据有: array('verify_code'=>'当前验证码的值','verify_time'

tp框架点击刷新验证

html 中 <img class="cimg" src="__URL__/verify?id=2>" width="50" height="22" onclick=""http://blog.51cto.com/viewpic.php?refimg=" + this.src='__URL__/verify/'+Math.random()" /></td>