Tp验证码:$Verify = new \Think\Verify(); $Verify->entry(n);【参数n,页面有多个验证码时用】
一、验证码参数:(中文字符集和英文字符集在父类里面都可以取到,可修改)
//1.生成验证码 $Verify = new \Think\Verify(); $Verify->entry(n);【参数n,页面有多个验证码时用】 //2.验证码参数 可以对生成的验证码设置相关的参数,以达到不同的显示效果。这些参数包括: 参数 描述 expire 验证码的有效期(秒) useImgBg 是否使用背景图片 默认为false fontSize 验证码字体大小(像素) 默认为25 useCurve 是否使用混淆曲线 默认为true useNoise 是否添加杂点 默认为true imageW 验证码宽度 设置为0为自动计算 imageH 验证码高度 设置为0为自动计算 length 验证码位数 fontttf 指定验证码字体 默认为随机获取 useZh 是否使用中文验证码 bg 验证码背景颜色 rgb数组设置,例如 array(243, 251, 254) seKey 验证码的加密密钥 codeSet 验证码字符集合 3.2.1 新增 zhSet 验证码字符集合(中文) 3.2.1 新增 //3.参数设置使用两种方式。 //实例化传入参数: $config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 3, // 验证码位数 'useNoise' => false, // 关闭验证码杂点 ); $Verify = new \Think\Verify($config); $Verify->entry(); //或者采用动态设置的方式,如: $Verify = new \Think\Verify(); $Verify->fontSize = 30; $Verify->length = 3; $Verify->useNoise = false; $Verify->entry(); //4.验证码字体 //默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think/Verify/ttfs/目录下面的字体文件,我们可以指定验证码的字体,例如: $Verify = new \Think\Verify();// 验证码字体使用ThinkPHP/Library/Think/Verify/ttfs/5.ttf $Verify->fontttf = '5.ttf'; $Verify->entry(); //5.背景图片: //支持验证码背景图片功能,可以如下设置: $Verify = new \Think\Verify();// 开启验证码背景图片功能 随机使用 ThinkPHP/Library/Think/Verify/bgs 目录下面的图片 $Verify->useImgBg = true; $Verify->entry(); //6.中文验证码 //如果要使用中文验证码,可以设置: $Verify = new \Think\Verify();// 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf $Verify->useZh = true; $Verify->entry(); //7.指定验证码字符 //3.2.1版本以上,我们可以指定验证码的字符,通过重新设置codeSet参数即可,例如: $Verify = new \Think\Verify();// 设置验证码字符为纯数字 $Verify->codeSet = '0123456789'; $Verify->entry(); //如果是中文验证码,可以使用zhSet参数设置,例如: $Verify = new \Think\Verify();$Verify->useZh = true;// 设置验证码字符 $Verify->zhSet = '们以我到他会作时要动国产的一是工就年阶义发成部民可出能方进在了不和有大这'; $Verify->entry(); //8.验证码检测 //可以用Think\Verify类的check方法检测验证码的输入是否正确,例如,下面是封装的一个验证码检测的函数: // 检测输入的验证码是否正确,$code为用户输入的验证码字符串 function check_verify($code, $id = '') { $verify = new \Think\Verify(); return $verify->check($code, $id); }
二、生成验证码例子:
YzController.class.php
<?php namespace Yz\Controller; use Think\Controller; class YzController extends Controller { public function xianshi() { $yz = $_POST["uid"]; if(empty($yz))//如果传过来的$_POST值为空,显示页面 { $this->show(); } else//如果不为空,显示验证码 { $verify = new \Think\Verify(); //如果验证成功,返回true,失败false if($verify->check($yz/*, $id*/))//$id为验证码的标识,在$Verify->entry();中没有定义标识,不写 { echo "注册成功!"; } } } public function yzm()//生成验证码方法 { $Verify = new \Think\Verify(); $Verify->fontSize = 30;//验证码字体大小 $Verify->length = 5;//验证码字体的长度 $Verify->fontttf = '5.ttf';//指定用那种字体 $Verify->length = 5; $Verify->entry(); } public function _empty()//空方法,防止报错 { $this->display('Empty/empty'); } }
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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script> <title>无标题文档</title> </head> <body> <form action="__ACTION__" method="post"> <div><input type="text" id="yz" name="uid" /> <img id="img" src="__CONTROLLER__/yzm" /> </div> <div><input type="submit" value="验证" id="btn" /></div> </form> <script type="text/javascript"> //点击图片,定义src,再走一遍方法,BUG是个别浏览器不兼容,可生成随机数,当参数传值 $("#img").click(function(){ var a = Math.ceil(Math.random()*100);//生成随机数,Math.random()是生成随机数,Math.ceil()是向上取整,Math.ceil(Math.random())都是取整到1,可以*100来生成1-100的随机整数 alert(a); $("#img").attr("src","__CONTROLLER__/yzm/suijishu/"+a+"");//个别浏览器如果地址一样,不加载,可以后带参数(生成随机数) }) </script> </body> </html>
三、验证码默认字体的路径:
四、验证码放中文字体路径(使用中文验证码):
________
Tp验证码:$Verify = new \Think\Verify(); $Verify->entry(n);【参数n,页面有多个验证码时用】的更多相关文章
- tp框架之对列表的一系列操作及跳转页面(详细步骤)
依旧是在Main控制器里面写类方法,如果想看tp全部的话,可以从前几篇开始看,都是一整个步骤下来的 在控制器中重新写个类 然后再做个shouye.html页面 nation表的数据,将会在shou.h ...
- 生成html页面客户端随机数和验证码
生成随机数: var chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', ...
- Java实现Web页面前数字字母验证码实现
最近公司做项目开发中用到了验证码实现功能,将实现代码分享出来, 前段页面实现代码: 为了表达清晰,样式部分代码去掉了,大家根据自己的需求,自己添加样式. 页面JS代码:触发变动验证码改变的JS 后台 ...
- 一百一十七:CMS系统之注册页面对接短信验证码
from flask import Blueprint, requestfrom exts import alidayufrom utils import restfulfrom utils.capt ...
- 使用Mockito进行单元测试【1】——mock and verify[转]
本文转自:http://qiuguo0205.iteye.com/blog/1443344 1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?m ...
- tp框架之验证码
控制器 function yzm() { /*$config = array( 'fontSize' => 30, // 验证码字体大小 'length' => 4, // 验证码位数 ' ...
- Mockito自定义verify参数Matcher
在TDD开发中,也许我们会遇见对一些重要的无返回值的行为测试,比如在用户的积分DB中增加用户的积分,这个行为对于我们的业务具有重要的价值,所以我们也希望能测试覆盖这部分业务价值.这个时候我们就得使用m ...
- verify.js使用验证插件使用
github:https://github.com/52fhy/verify.js 首先引入js,最好拷贝verify整个目录,因为里面有图标. <script src="verify ...
- What is “Mock You” :Raise,callback,verify [转载]
http://www.cnblogs.com/wJiang/archive/2010/02/21/1670637.html Raise 如果你说会用Setup,那么Raise就更简单了.这里注意下它是 ...
随机推荐
- 【krpano】krpano xml资源解密(破解)软件说明与下载
欢迎加入qq群551278936讨论krpano技术以及获取最新软件. 最新版本软件下载:http://www.cnblogs.com/reachteam/p/5455675.html 该软件已经 ...
- linux下动态链接库解决方案(二)
以前写过一个关于linux下用c++写动态链接库无法通过的解决方案,今天看到<linux C程序设计-王者归来>这本书,书中有个更容易的解决方案,特此记录下来 书中使用的是c语言,我改用c ...
- c/c++优化结构控制
一.表达式优化--使用替换程序中的乘除法 c/c++中的加减运算效率远远高于乘除运算,由于移位指令的执行速度和乘除法差不多,所以可以使用移位的方式来替换程序中的乘除法.一个数向右移一位,等于该数乘以2 ...
- 程序中使用ajax时,type为put,或者delete时在 IIS上没效果,发生HTTP Error 405.0 - Method Not Allowed
其实使用put delete 是在创建webapi中基本才会使用. WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协 ...
- 网页Loading效果
问题描述:由于项目要求在页面提交以及加载的时候,有短暂的卡顿,需要用loading过渡. 1.下一个页面加载的时候实现: base-loading.js //获取浏览器页面可见高度和宽度 var _P ...
- [Android Pro] ScrollView嵌套RecyclerView时滑动出现的卡顿
reference to : http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/ ScrollView嵌套Rec ...
- Django【进阶篇 】
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
- UWP x:bind
x:bind 作为win10 新特性,它好在哪?为什么要用它. 最近做UWP,对代码进行重构,对它有了一些了解. 先说优点: 1.性能高,内存小(相比传统的binding) 没图没真相,我先上2张图. ...
- 简单Excel表格上传下载,POI
一.废话 Excel表格是office软件中的一员,几乎是使用次数最多的办公软件.所以在java进行企业级应用开发的时候经常会用到对应的上传下载便利办公. 目前,比较常用的实现Java导入.导出Exc ...
- Java基础知识梳理《一》
一.Java数据类型(简单称之为“四类八种”) java 基本的数据类型长度都是固定的,好处是在实现跨平台时就统一了. 1.整型 byte short int long (分别是1,2,4,8个字节) ...