增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。
一,模板上增加验证码
<input name="vdcode"id="vdcode" placeholder="请输入验证码" type="text" style="width:100px;">
<img id="vdimgck" onclick="this.src=this.src+'?'" src="/include/vdimgck.php" align="absmiddle"/>
<span id="hiddentxt"style="display:none;color:yellow">验证码正确!</span>
二,js代码
<script>
$(function () {
$("#vdcode").bind("blur",function () {
var vdcode = $('#vdcode').val();
if(vdcode!=''){
$.post("/plus/ajax_vdcode.php", {'vdcode':vdcode}, function(v){
if( v == 2 ){
alert("验证码错误!");
}else{
$("#hiddentxt").show(500);
}
});
}
})
});
</script>
三,ajax后端功能。plus\ajax_vdcode.php
<?php
require_once(dirname(__FILE__).'/guestbook/guestbook.inc.php');
require_once(DEDEINC.'/datalistcp.class.php');
$vdcode = isset($vdcode) ? $vdcode : '';
$svali = GetCkVdValue();
//exit( $vdcode.'-'.$svali);
if(strtolower($vdcode)!=$svali || $svali=='')
{
// ResetVdValue();
echo 2;
}else{
echo 1;
}
四,根据需要,留言模块中也可以增加一个验证码判断。提交留言后,会再做一次判断
$vdcode = isset($vdcode) ? $vdcode : '';
$svali = GetCkVdValue();
if(preg_match("/4/",$safe_gdopen)){ //判断后台是否打开了留言验证码功能,4表示开。
if(strtolower($vdcode)!=$svali || $svali=='')
{
ResetVdValue();
ShowMsg('验证码错误!'.$vdcode, '-1');
exit();
}
}
如图