thinkphp3.2 验证码生成和刷新验证码
2016-02-02 16:42
666 查看
一、实例化生成验证码的类(该方法放到IndexController里面便于访问)
二、前台需要生成验证码的图片src属性指向
三、写完上面的后,页面初始化的验证码就可以出现了,下面要写的就是点击验证码图片后,刷新出新的验证码图片(通过jquery修改图片的src属性来完成,请求的处理函数一样,只是在请求后加一个随机数,区别上一张图片的请求)
四、校验验证码输入是否正确
a.在common目录下的function.php里加入全局函数
b.在表单提交的controller对应的处理方法里添加检查代码(登录验证)
<?php /** * * 验证码生成 */ public function verify_c(){ $Verify = new \Think\Verify(); $Verify->fontSize = 18; $Verify->length = 4; $Verify->useNoise = false; $Verify->codeSet = '0123456789'; $Verify->imageW = 130; $Verify->imageH = 50; //$Verify->expire = 600; $Verify->entry(); } ?>
二、前台需要生成验证码的图片src属性指向
<div class="form-group"> <label for="password" class="col-sm-2 control-label">验证码</label> <div class="col-sm-4"> <input type="text" class="form-control" name='verify' id="verify" placeholder="验证码"> </div> <span onclick="changeverify()"><img width="30%" height="50" alt="验证码" id='verifyimg' src="__CONTROLLER__/verify_c" title="点击刷新" style="cursor:pointer"></span> </div>
三、写完上面的后,页面初始化的验证码就可以出现了,下面要写的就是点击验证码图片后,刷新出新的验证码图片(通过jquery修改图片的src属性来完成,请求的处理函数一样,只是在请求后加一个随机数,区别上一张图片的请求)
function changeverify(){ var verifyimg = $("#verifyimg").attr("src"); $("#verifyimg").attr("src", "__CONTROLLER__/verify_c/"+Math.random()); }
四、校验验证码输入是否正确
a.在common目录下的function.php里加入全局函数
<?php /** * 验证码检查 */ function check_verify($code, $id = ""){ $verify = new \Think\Verify(); return $verify->check($code, $id); } ?>
b.在表单提交的controller对应的处理方法里添加检查代码(登录验证)
public function dologin(){ //var_dump($_POST); session_start(); $userName =$_POST['username']; $passWord =$_POST['password']; //根据username获取数据库中匹配的信息 $User = M('userd');//表名 $userInfo = $User->where('username="%s"',$userName)->find(); $verify = I('param.verify',''); $_SESSION['user']=$userName; if($userName == $userInfo['username'] && md5(md5($passWord).$userInfo['salt']) == $userInfo['userpass']){ if(!check_verify($verify)){ // $this->error("亲,验证码输错了哦!",$this->site_url,9); $this->assign('loginInfo','亲,验证码错了啊啊啊啊'); $this->tologin(); } else { // redirect(U('User/Usercenter/index')); $this->tobbs(); } }else{ $this->assign('loginInfo','登录失败,用户名或密码错误'); $this->tologin(); } }
相关文章推荐
- java自动生成验证码插件-kaptcha
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- 如何识别高级的验证码的技术总结第1/4页
- ThinkPHP关联模型操作实例分析
- PHP 验证码不显示只有一个小红叉的解决方法
- thinkphp3.0 模板中函数的使用
- ThinkPHP采用<volist>实现三级循环代码实例
- Thinkphp模板标签if和eq的区别和比较实例分析
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- ThinkPHP控制器详解
- asp汉字中文图片验证码
- PHP实现简单汉字验证码
- php生成动态验证码gif图片
- php生成验证码函数
- 基于JavaScript短信验证码如何实现
- php 验证码制作(网树注释思想)
- 基于C#实现12306的动态验证码变成静态验证码的方法
- C#验证码识别基础方法实例分析
- javascript点击才出现验证码