好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

一个简单的php验证码程序 - 综合实例

一个简单的php验证码程序

本文章介绍一下关于在php中验证码程序的生成代码,调用方法及以如果验证用户输入的验证码程序没有问题.

create_code.php,代码如下:

<?php  session_start();  //生成验证码图片   header( "Content-type: image/png" );  // 全数字   $str  =  "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g" ;     //要显示的字符,可自己进行增删   $list  =  explode ( "," ,  $str );  $cmax  =  count ( $list ) - 1;  $verifyCode  =  '' ;  for  (  $i =0;  $i  < 5;  $i ++ ){         $randnum  = mt_rand(0,  $cmax );         $verifyCode  .=  $list [ $randnum ];   //取出字符,组合成为我们要的验证码字符   }  $_SESSION [ 'code' ] =  $verifyCode ;         //将字符放入SESSION中     $im  = imagecreate(58,28);     //生成图片   $black  = imagecolorallocate( $im , 0,0,0);      //此条及以下三条为设置的颜色   $white  = imagecolorallocate( $im , 255,255,255);  $gray  = imagecolorallocate( $im , 200,200,200);  $red  = imagecolorallocate( $im , 255, 0, 0);  imagefill( $im ,0,0, $white );      //给图片填充颜色     //将验证码绘入图片   imagestring( $im , 5, 10, 8,  $verifyCode ,  $black );     //将验证码写入到图片中     for ( $i =0; $i <50; $i ++)   //加入干扰象素   {       imagesetpixel( $im , rand()p , rand()0 ,  $black );     //加入点状干扰素        imagesetpixel( $im , rand()p , rand()0 ,  $red );       imagesetpixel( $im , rand()p , rand()0 ,  $gray );        //imagearc($im, rand()p, rand()p, 20, 20, 75, 170, $black);    //加入弧线状干扰素         //imageline($im, rand()p, rand()p, rand()p, rand()p, $red);    //加入线条状干扰素   }  imagepng( $im );  imagedestroy( $im );  ?>  

html代码,demo.html代码如下:

<!-- DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://HdhCmsTestwapforum.org/DTD/xhtml-mobile10.dtd" -->   < html   xmlns = "http://HdhCmsTestw3.org/1999/xhtml" >   < head >        < meta   http-equiv = "Content-Type"   content = "text/html; charset=utf-8"   />        < title > </ title >   </ head >     < body >   < form   action = "act.php"   method = "post" >   < input   type = "text"   name = "code"   />   < img   id = "code"   src = "create_code.php"   alt = "看不清楚,换一张"   style = "cursor: pointer; vertical-align:middle;"   onClick = "create_code()" />   <!--<button type="button" onClick="create_code()">更换</button>-->   < button   type = "submit" > 提交 </ button >   </ form >   < script >   function create_code(){      document.getElementByIdx_x('code') .src  =  'create_code.php?' +Math.random()*10000;  }  </ script >   </ body >   </ html >  

处理,判断是否输入正确 act.php,代码如下:

<?php  session_start();  if ( $_POST [ 'code' ] ==  $_SESSION [ 'code' ]){       echo   'ok' ;  } else {       echo   'no' ;  }  ?> 

查看更多关于一个简单的php验证码程序 - 综合实例的详细内容...

  阅读:43次