今天来看一个小插件。

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.   不难吧。^_^

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

  1. tp框架为什么验证码加载不出来?----- ob_clean() 可解决

    在用tp做验证码时,代码逻辑都正确,但就是加载不出图片来,如何解决呢?在创建验证码之前加上 ob_clean(); public function haha(){ ob_clean(); $v = n ...

  2. TP框架设置验证码

    thinkphp框架有专门的的验证码生成的模块 public function shengcheng(){ $n = new \Think\Verify(); $n->entry(); } 下面 ...

  3. tp框架之验证码

    控制器 function yzm() { /*$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 ' ...

  4. tp框架实现验证码验证

    //实现验证页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

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

    ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...

  6. 第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式

    外部文件引入到视图模板的方式       1,将外部文件放在Public文件夹下,用load标签引入       2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题) <load h ...

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

    TP框架----生成验证码的方式 xianshi.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  8. tp框架-------验证码

    验证码我们一般很常见,在注册或登录时,都可以用的到,下面我们就来看看它的代码和用法 加验证码是为了防止表单攻击的一种方式,为了我们的程序更加的安全 在tp框架中它自带了一个验证码的类,我们先来看一下 ...

  9. tp框架 验证码的应用注意事项

    1如何点击更换二维码 二维码是img标签的src访问生成二维码的方法.绑定点击事件,ajax的get方式请求生成二维码的函数.在U函数后面加上任意不重复的参数 如  ?rand=’+math.rand ...

随机推荐

  1. 在Mac系统中安装及配置Apache Tomcat

    1.下载Tomcat http://tomcat.apache.org/download-80.cgi 下载ZIP包,解压后放至任意地址,本例中放在/Users/GuQiang/Tomcat/apac ...

  2. python中__getattr__和__setattr__

    代码: #!/usr/bin/env python #! -*- coding:utf-8 -*- class A(object): def __setattr__(self, key, value) ...

  3. Nginx的启动脚本(Centos)

    vim /etc/init.d/nginxservice nginx start #!/bin/sh # chkconfig: 2345 85 15 # description:Nginx Serve ...

  4. Chrome 开发工具之Elements

    友情提示:全文图片高能,如使用手机阅读,请确保在wifi情况下或者流量充足.图片有点渣,也算辛苦做出来的,请别嫌弃- Elements面板主要展示当前页面的组织结构,在如今的应用程序中,HTML页面初 ...

  5. lucene+IKAnalyzer实现中文纯文本检索系统

    首先IntelliJ IDEA中搭建Maven项目(web):spring+SpringMVC+Lucene+IKAnalyzer spring+SpringMVC搭建项目可以参考我的博客 整合Luc ...

  6. ionic 获取手机所在位置

    之前项目中需要使用到定位功能,前边的文章提到的坐标位置是有问题的,是国际坐标,国内的环境使用google地图会出现问题,所以需要使用国内的地图进行坐标解析,因为国内和国外的坐标体系不一致,需要通过转换 ...

  7. mybatis-generator运行命令

    java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite

  8. 页面测试点testpoint

    页面测试点整理(非逻辑测试点) 由于自己一年来一直在做页面测试,也看了很多测试理论的书和方法,但是方法并非也无法照搬,此处总结自己工作以来通过各种坑摸出来的一些方法点,希望一边靠上经典测试理论,一边形 ...

  9. sublime text常用快捷键

    个人觉得很好用的我会紫色标出!这里只是windows快捷键 搜索类 Ctrl+P     输入想要找的文件名,可以找出相应的文件: 输入@可以查找相应文件的名字(等同于Ctrl+r),例如在css文件 ...

  10. Python

    语法 #!/usr/bin/python 注释:# 编码:# -*- coding: UTF-8 -*- 缩进 运算符 算数运算符 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得 ...