zoukankan      html  css  js  c++  java
  • php生成验证码与验证码验证完整实例

    无标题文档

    <!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 http://www.hzhuti.com/nokia/c6/   */
      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"]);
    ?>
    
  • 相关阅读:
    JavaWeb工程中url地址的写法
    java.lang.NoClassDefFoundError
    {"aa":null} 如何能转化为 {"aa":{}}
    IDEA遇到项目包后面出现% classes,% lines covered该怎么解决
    union all 关键字的应用(合并两个查询结果集到同一个结果集)
    IDEA中的,让光标回到上一次停留的地方
    克隆指定的分支:git clone -b 分支名仓库地址
    转载:再难也要向前爬-唐雅薇
    MacBook Pro 新手入门
    转载:不是书评 :《我是一只IT小小鸟》
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/2338757.html
Copyright © 2011-2022 走看看