本教程主要利用jquery 的ajax来实现无刷新jquery php验证码代码的提前验证操作,实例代码如下:
<?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)<10000);{ //将四位整数验证码绘入图片 session_start(); $_session['login_check_num'] = $randval; imagestring($im, 5, 10, 3, $randval, $black); } //加入干扰象素 for($i=0;$i<200;$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,其代码如下:
<?php session_start(); //检验验证码 if($_post['reg_code'] == $_session['login_check_num']){ echo 1;//开源代码phprm.com }else{ echo 0; exit(); }
文章网址:
随意转载^^但请附上教程地址。