首页 > 开发 > PHP > 正文

php jquery 验证码代码

2024-05-04 21:59:25
字体:大 中 小
来源:转载
供稿:网友

本教程主要利用jquery 的ajax来实现无刷新jquery php验证码代码的提前验证操作,实例代码如下:

  1. <?php 
  2. //调用此页面,如果下面的式子成立,则生成验证码图片 
  3. if($_get['action']=='verifycode'){ 
  4.     rand_create(); 
  5. } 
  6. //验证码图片生成 
  7. function rand_create(){ 
  8.     //通知浏览器将要输出png图片 
  9.  
  10.     header('content-type: image/png'); 
  11.  
  12.     //准备好随机数发生器种子  
  13.     srand((double)microtime()*1000000); 
  14.     //准备图片的相关参数  
  15.     $im = imagecreate(62,20); 
  16.     $black = imagecolorallocate($im, 0,0,0); //rgb黑色标识符 
  17.     $white = imagecolorallocate($im, 255,255,255); //rgb白色标识符 
  18.     $gray = imagecolorallocate($im, 200,200,200); //rgb灰色标识符 
  19.     //开始作图     
  20.     imagefill($im,0,0,$gray); 
  21.     while(($randval=rand()%100000)<10000);{  
  22.         //将四位整数验证码绘入图片 
  23.      session_start(); 
  24.    $_session['login_check_num'] = $randval;  
  25.         imagestring($im, 5, 10, 3, $randval, $black); 
  26.     }  
  27.     //加入干扰象素  
  28.     for($i=0;$i<200;$i++){ 
  29.         $randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
  30.         imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
  31.     } 
  32.     //输出验证图片 
  33.     imagepng($im); 
  34.     //销毁图像标识符 
  35.     imagedestroy($im);  
  36. } 
  37. ?> 

静态页面上显示验证码代码为:

  1. 验证码:<input class="reg_main_code_input" type="text" name="reg_code" id="reg_code" /> 
  2. <img id="reg_code_img" src="code.php?action=verifycode" />  

jquery部分的ajax验证代码为:

  1. $.post("session.php", 
  2.       {reg_code:$("#reg_code").val()}, 
  3.       function(data){ 
  4.       if(data === "1"){ 
  5.        //do... 
  6.       }else{ 
  7.        do...      } 
  8.      } 
  9.     );  

而协助ajax验证的php页面名为session.php,其代码如下:

  1. <?php 
  2. session_start(); 
  3. //检验验证码 
  4. if($_post['reg_code'] == $_session['login_check_num']){ 
  5.    echo 1;//开源代码Vevb.com 
  6. }else{ 
  7.    echo 0; 
  8.    exit(); 
  9. } 
  10. ?>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表