ThinkPHP之中的验证码的小示例
ThinkPHP之中已经封装好了验证码的调用,但是关于手册,缺失了HTML之中以及、实际操作之中的点击ajax就会刷新验证码ajax代码;现在分享一下;看客老爷们注意啦!
放大招啦!!!三分归元气---》》》
在Indexcontroller.class.php里面,控制器中是酱紫的(传入参数不作介绍):
public function verify()
{
$config = array(
'fontSize' => 35, // 验证码字体大小
'length' => 4, // 验证码位数
'useNoise' => false, // 关闭验证码杂点
'useCurve' => false, // 关闭曲线干扰
);
$Verify = new \Think\Verify($config);
$Verify->entry();
}
HTML中是酱紫调用的
<div class="contact_r col-md-4">
<label class="contact_rc"><span><input class="inp_yzm" type="text" value="验证码" name='data[code]' ></span></label>
<img class="yzmPic" src="{:U('Index/verify')}" id="verify-img">
</div>
为了实现点击验证码即刷新:
<script type="text/javascript">
$(document).ready(function(){
//点击刷新验证码
var verifyUrl = $('#verify-img').attr('src');
$('#verify-img').click(function () {
$(this).attr('src', verifyUrl + '?' + Math.random());
});
})
</script>
现在就是在接收到POST过来(当然是POST验证码的数据的)控制器之中验证验证码了
$input=I('post.');
$data['code']=$input['data']['code'];
if(!check_verify($data['code'])){
$this->error('验证码错误',U('Index/index'),3);exit();
}
只要一个页面只有一个验证码的,在任何页面都是可以这样用的;都是调用同一个方法生成验证码;都是同一个方法验证验证码;完全不用考虑验证码的ID什么的;
上面习惯性地写上ThinkPHP之中自带的I方法过滤的;防SQL注入;就像在新浪博客里面你输入的script标签的东西全部都会被置换为空啊,兄弟
ThinkPHP之中的验证码的小示例的更多相关文章
- ThinkPHP之中的事务回滚
小李子 获取thinkphp之中执行的SQL: 1.用调试模式的追踪trace功能: 2.代码: $user_type=D('user_type'); $datass=array('school_id ...
- 在IIS下部署Thinkphp项目,验证码不能显示的解决办法
由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...
- ReactNative新手学习之路06滚动更新ListView数据的小示例
本节带领大家学习使用ListView 做一个常用的滚动更新数据示例: 知识点: initialListSize={200} 第一次加载多少数据行 onEndReached={this.onEndRea ...
- ThinkPHP之中getlist方法实现数据搜索功能
自己在ThinkPHP之中的model之中书写getlist方法,其实所谓的搜索功能无非就是数据库查询之中用到的like %string%,或者其他的 字段名=特定值,这些sql语句拼接在and语句 ...
- ThinkPHP之中的图片上传操作
直接上个例子,其中包括有单图片文件上传.多图片文件上传.以及删除文件的一些操作.放置删除数据库的时候,仅仅删除掉了数据库之中的文件路径.而不是一并删除服务器之中的文件.放置服务器爆炸... TP里面c ...
- MVC客户端验证的小示例
MVC客户端验证的小示例 配置客户端验证的可用性: <configuration> <appSettings> <add key="ClientValidat ...
- ThinkPHP简单的验证码实现
ThinkPHP简单的验证码实现 写一个最简单的TP验证码. 写Controller 首先在Controller/IndexController.class.php(简称Index)文件中编辑: &l ...
- 【.Net】Socket小示例
引言 项目中用到了Socket,这里做个控制台小示例记录一下. Client 客户端的Receive用了异步方法,保持长连接,可以随时发送消息和响应服务端的消息,如下 static string Cl ...
- 腾讯云短信 nodejs 接入, 通过验证码修改手机示例
腾讯云短信 nodejs 接入, 通过验证码修改手机示例 参考:腾讯云短信文档国内短信快速入门qcloudsms Node.js SDK文档中心>短信>错误码 nodejs sdk 使用示 ...
随机推荐
- selenium启动firefox、ie、chrome各浏览器方法
1.启动firefox浏览器 a.如果你的本地firefox是默认路径安装的话,如下方式即可启动浏览器 WebDriver driver = new FirefoxDriver(); driver.g ...
- bitmap size exceeds VM budget
bitmap size exceeds VM budget we can avoid this error by the following parts:1 its not how much ima ...
- systemstate dump 介绍
systemstate dump 介绍 By Janezhang-Oracle on 十二月 13, 2012 当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate ...
- telnet登录路由器启动服务的shell脚本
因为在测试中经常要telnet登录到路由器中去配置环境启动路由器,每次都输入一遍命令太麻烦了,想着写一个shell脚本实现自动登录.配置环境.启动服务的过程. 脚本实现是使用expect来实现的,所以 ...
- 【Unity Shaders】学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert
[Unity Shaders]学习笔记——SurfaceShader(三)BasicDiffuse和HalfLambert 转载请注明出处:http://www.cnblogs.com/-867259 ...
- Gradle用户指南(章8:依赖关系管理基础)
章8:依赖关系管理基础 本章将介绍一些gradle依赖关系管理的基础 什么是依赖关系管理? 简略的说,依赖管理是由两部分组成的.首先,gradle需要知道你要构建或者运行的项目,以便找到它们.我们将这 ...
- 简单的as3操作xml
package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import ...
- Xcode清缓存
前往-->按住option键进入资源库-->Developer-->Xcode-->DerivedData 删除里面的文件就行了
- linux使用flock文件锁解决crontab冲突问题
* * * * * flock -xn /dev/shm/redis.lock -c "/usr/local/bin/redis-server" 可以用flock命令,配合使用rs ...
- Linux下软件安装,卸载,管理
一. 软件安装包的类型 通常Linux应用软件的安装有五种: 1) tar+ gz包,如software-1.2.3-1.tar.gz. 他是使用UNIX系统的打包工具tar打包的. 2) r ...