本教程主要利用jquery 的ajax来实现无刷新jquery php验证码代码的提前验证操作。
本教程主要利用jquery 的ajax来实现无刷新jquery php教程验证码代码的提前验证操作。
//调用此页面,如果下面的式子成立,则生成验证码图片
if($_get['action']=='verifycode'){
rand_create();
}
//验证码图片生成
function rand_create(){
//通知浏览器将要输出png图片header('content-type: image/png');
//准备好随机数发生器种子
srand((double)microtime()*1000000);
//准备图片的相关参数
$im = imagecreate(62,20);
$black = imagecolorallocate($im, 0,0,0); //rgb黑色标识符
$white = imagecolorallocate($im, 255,255,255); //rgb白色标识符
$gray = imagecolorallocate($im, 200,200,200); //rgb灰色标识符
//开始作图
imagefill($im,0,0,$gray);
while(($randval=rand()%100000) //将四位整数验证码绘入图片
session_start();
$_session['login_check_num'] = $randval;
imagestring($im, 5, 10, 3, $randval, $black);
}
//加入干扰象素
for($i=0;$i $randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
//输出验证图片
imagepng($im);
//销毁图像标识符
imagedestroy($im);
}
?>
静态页面上显示验证码代码为:
验证码:
jquery部分的ajax验证代码为:
$.post("session.php",
{reg_code:$("#reg_code").val()},
function(data){
if(data === "1"){
//do...
}else{
do... }
}
);
而协助ajax验证的php页面名为session.php,其代码为:
session_start();
//检验验证码
if($_post['reg_code'] == $_session['login_check_num']){
echo 1;
}else{
echo 0;
exit();
}
?>