Maison >développement back-end >tutoriel php >php点击验证码实时刷新的实现代码

php点击验证码实时刷新的实现代码

WBOY
WBOYoriginal
2016-07-25 09:00:151755parcourir
php实现点击验证码实时刷新,即不刷新当前页面,只刷新验证码的代码,有需要的朋友,可以参考下。

具体实现如下。

1、验证码页 code.php

 <?php 
 /**
  * 验证码页 
  * bbs.it-home.org
 */
 Header("Content-type: image/gif");  
 /* 
 * 初始化 
 */  
 $border = 0; //是否要边框 1要:0不要  
 $how = 4; //验证码位数  
 $w = $how*15; //图片宽度  
 $h = 20; //图片高度  
 $fontsize = 6; //字体大小  
 $alpha = "abcdefghjkmnpqrstuvwxyz"; //验证码内容1:字母  
 $number = "23456789"; //验证码内容2:数字  
 $randcode = ""; //验证码字符串初始化  
 srand((double)microtime()*1000000); //初始化随机数种子  
   
 $im = ImageCreate($w, $h); //创建验证图片  
   
 /* 
 * 绘制基本框架 
 */  
 $bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色  
 ImageFill($im, 0, 0, $bgcolor); //填充背景色  
 if($border)  
 {  
  $black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色  
  ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框  
 }  
   
 /* 
 * 逐位产生随机字符 
 */  
 for($i=0; $i<$how; $i++)  
 {  
  $alpha_or_number = mt_rand(0, 1); //字母还是数字  
  $str = $alpha_or_number ? $alpha : $number;  
  $which = mt_rand(0, strlen($str)-1); //取哪个字符  
  $code = substr($str, $which, 1); //取字符  
  $j = !$i ? 4 : $j+15; //绘字符位置  
  $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色  
  ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符  
  $randcode .= $code; //逐位加入验证码字符串  
 }   
   
 /* 
 * 添加干扰 
 */  
   
 for($i=0; $i<10; $i++)//绘背景干扰线  
 {  
  $color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色  
  ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线  
 } 
 /* 
 for($i=0; $i<$how*40; $i++)//绘背景干扰点 
 { 
  $color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色  
  ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点 
 }*/  
   
 //把验证码字符串写入session  
 session_start();  
 $_SESSION['randcode'] = $randcode;  
   
 /*绘图结束*/  
 Imagegif($im);  
 ImageDestroy($im);  
 /*绘图结束*/  
 ?>

2、登录页,验证码 login.php

<?php   
 /*  
 * 登录页,测试验证码
 * site bbs.it-home.org  
 */   
 session_start();   
 if($_POST[sub]){   
  //if(!empty($_POST[gd_pic])){  
 //判断验证码是否相同   
 if($_POST[gd_pic]==$_SESSION[randcode]){   
 echo "验证成功!";   
 }else{   
 echo "验证码错误";   
 }   
 }   
 ?>   
 <html xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  <title>验证码测试</title>     
  <script> 
    function formSubmit(){  
     document.actionForm.action = "login.php";  
     document.actionForm.submit();  
    }   
    </script>  
 </head>
 <body>
 <form name="actionForm" action="login.php" method="POST">
 验证码:<input type="text" name="gd_pic"/><img  src="code.php" onClick="this.src='code.php'"/ alt="php点击验证码实时刷新的实现代码 " ><br>
 <input type="submit" name="sub" value="submit"/>   
 发布  
 </form>   
 </body>  
 </html> 
您可能感兴趣的文章: php验证码简单函数代码(附效果图) 分享一个php 验证码类及调用示例 php验证码的三个实例代码分享 一个php验证码的封装类 php自定义大小验证码的实例代码 php生成扭曲及旋转的验证码图片的实例代码 php仿QQ验证码的实现代码 php验证码函数使用的例子 php5验证码类(简易实用型) php验证码(GD库生成验证码)的例子 php图片验证码的例子 php彩色验证码的简单例子 php验证码刷新与局部刷新的实现方法 php GD库生成验证码的实例 php生成验证码的例子 php随机验证码 php生成随机验证码(图文) 一个比较稳定的php登陆系统验证码 用php生成带有雪花背景的验证码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn