一款简单的php实现字母数字混合验证码,支持自定义验证码、验证码图片、宽度、高度、个数、背景图片等

验证码调用地址:application\home\controller\codecontroller.class.php

1 vendor('vcode.vcode', '', '.class.php'); 
2 $config = array("width" => 100, "height" => 36, "count" => 4, "str" => 2); //配置 
3 $vcode = new \vcode($config); 
4 $vcode->getcode(); //获取验证码 
5 $vcode->getimg(); //输出图片 
6 exit;

 

验证码图片

1 <img src="__app__/code/" id="code" onclick="changecode($('#code'))"/>

 

js通过后缀加随机数math.random()来刷新验证码

1 function changecode(obj) { 
2    obj.attr("src", '__app__/code/?' + math.random()); 
3 }

 

检测验证码是否输入正确

 1 <input type="text" id="input_code" class="input"/> 
 2 <input type="button" value="提交" class="btn" onclick="checkcode()"/>
 3 function checkcode() { 
 4     $.post("__app__/code/check", {code: $("#input_code").val()}, function(data) { 
 5         if (data == '1') { 
 6             alert("验证码正确!"); 
 7         } else { 
 8             alert("验证码错误!"); 
 9         } 
10     }, "json") 
11 }

 

php验证传过来的参数code和当前session存储的验证码进行比较,若是正确返回1,错误则-1

1 public function check() { 
2         $code = i('post.code'); 
3         if (strtolower($code) == $_session["sucaihuo_code"]) { 
4             echo "1"; 
5         } else { 
6             echo "-1"; 
7         } 
8 }

 

本文转自: 转载请注明出处!