Heim  >  Artikel  >  Backend-Entwicklung  >  php点击验证码实时刷新的实现代码

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

WBOY
WBOYOriginal
2016-07-25 09:00:151734Durchsuche
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生成带有雪花背景的验证码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn