验证码的生成

html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
 function refresh_code()
 {
  form1.imgcode.src="verifycode.php?a="+Math.random();
 }
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="checkcode.php">
  <label for="code">验证码:</label>
  <input type="text" name="code" id="textfield" />
  <img id="imgcode" src="VerifyCode.php" alt="验证码" />
  <a href="javascript:refresh_code()">看不清?换一个</a>
  <input type="submit" name="button" id="button" value="提交" />
</form>
</body>
</html>

verifycode.php

<?php

 /*

  图片验证码 Powered By KASON test <a href="http://www.hzhuti.com/nokia/c6/">http://www.hzhuti.com/nokia/c6/</a>   */

  session_start();

  $num=4;//验证码个数

  $width=80;//验证码宽度

  $height=20;//验证码高度

  $code=' ';

  for($i=0;$i<$num;$i++)//生成验证码

  {

   switch(rand(0,2))

   {

    case 0:$code[$i]=chr(rand(48,57));break;//数字

    case 1:$code[$i]=chr(rand(65,90));break;//大写字母

    case 2:$code[$i]=chr(rand(97,122));break;//小写字母

   }

  }

  $_SESSION["VerifyCode"]=$code;

  $image=imagecreate($width,$height);

  imagecolorallocate($image,255,255,255);

  for($i=0;$i<80;$i++)//生成干扰像素

  {

   $dis_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));

   imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color);

  }

  for($i=0;$i<$num;$i++)//打印字符到图像

  {

   $char_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));

   imagechar($image,60,($width/$num)*$i,rand(0,5),$code[$i],$char_color);

  }

  header("Content-type:image/png");

  imagepng($image);//输出图像到浏览器

  imagedestroy($image);//释放资源

?>   

checkcode.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

ini_set('display_errors', 'Off');

session_start();

  if((strtoupper($_POST["code"])) == strtoupper(($_SESSION["VerifyCode"]))){

 print("验证码正确,");

  }else{

    print("验证码错误,");

  }

  echo "提交的验证码:".strtoupper($_POST["code"]).",正确的验证码:".strtoupper($_SESSION["VerifyCode"]);

?>


你可能感兴趣的:(验证码的生成)