php实现可运算的验证码
本文分享了php实现可运算的验证码的代码实例,希望对大家的学习有所帮助。
demo.php代码
<?php session_start(); if(!emptyempty($_POST['Login'])){ if(md5(strtoupper($_POST['Login']))==$_SESSION['Login']){ echo'Correct'; }else{ echo'Error'; } } ?> <formmethod="post"> <inputtype="text"name="Login"value=""/><imgsrc="img.php?Action=Login&imgW=80&imgH=30"align="absmiddle"> <inputtype="submit"value="Login"/> </form>
img.php代码
<?php session_start(); /** *随机的数字,之和验证码 *修改日期2006-12-20 */ functiongetCode($length=32,$mode=0) { switch($mode) { case'1': $str='123456789'; break; case'2': $str='abcdefghijklmnopqrstuvwxyz'; break; case'3': $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ'; break; case'4': $str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; break; case'5': $str='ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'; break; case'6': $str='abcdefghijklmnopqrstuvwxyz1234567890'; break; default: $str='ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'; break; } $result=''; $l=strlen($str)-1; for($i=0;$i<$length;$i++) { $num=rand(0,$l); $result.=$str[$num]; } return$result; } //建立验证图片 functioncreateAuthNumImg($randStr,$imgW=100,$imgH=40,$fontName) { header("content-type:image/png"); $image=imagecreate($imgW,$imgH); $color_white=imagecolorallocate($image,255,255,255); $color_gray=imagecolorallocate($image,228,228,228); $color_black=imagecolorallocate($image,255,102,204); for($i=0;$i<1000;$i++) { imagesetpixel($image,mt_rand(0,$imgW),mt_rand(0,$imgH),$color_gray); } imagerectangle($image,0,0,$imgW-1,$imgH-1,$color_gray); for($i=10;$i<$imgH;$i+=10) imageline($image,0,$i,$imgW,$i,$color_gray); imagettftext($image,16,5,3,25,$color_black,$fontName,$randStr); for($i=10;$i<$imgW;$i+=10) imageline($image,$i,0,$i,$imgH,$color_gray); imagepng($image); imagedestroy($image); } $a=GetCode(1,1); $b=GetCode(1,1); $c=GetCode(1,1); $Passport=$a."+".$b."+".$c; $Total=$a+$b+$c; $Total; $_SESSION[$_GET['Action']]=md5(strtoupper($Total)); createAuthNumImg($Passport,$_GET['imgW'],$_GET['imgH'],"verdana.ttf"); ?>
以上就是为大家介绍的php可运算的验证码全部代码,希望对大家的学习有所帮助。