zoukankan      html  css  js  c++  java
  • php注册登录时生成的验证码

    http://blog.sina.com.cn/s/blog_8173443e01012l82.html

    记得我学php时第一件事就是研究登陆注册。当然,登陆少不了验证码。两年过去了,昨天突然想用个验证码却找不到代码了,现在找到了,贴出来吧。防止我这个马大哈再找不到。随机生成四位数字符串,可以是数字也可以是数字和字母。

     authimg.php生成验证码的文件:
    <?

     $IsLetter = false; //是否出现字母
     session_start();
     $Num  = $_GET["n"];
     
     //生成验证码图片
     header("Content-type: image/PNG");
     $im   = imagecreate(46,20);
     srand((double)microtime()*1000000);
     $Red  = rand(0,200);
     $Green  = rand(0,200);
     $Blue  = rand(0,200);
     $Color  = imagecolorallocate($im, $Red, $Green, $Blue);
     $BackGround = imagecolorallocate($im, 255,255,255);
     imagefill($im,0,0,$BackGround);
     
     if($IsLetter)
     {
      $a = substr(md5($Num*10000000000000000),0,1);
      $b = substr(md5($Num*10000000000000000),4,1);
      $c = substr(md5($Num*10000000000000000),8,1);
      $d = substr(md5($Num*10000000000000000),12,1);
     }
     else
     {
      $a = substr(hexdec(md5($Num*10000000000000000)),2,1);
      $b = substr(hexdec(md5($Num*10000000000000000)),3,1);
      $c = substr(hexdec(md5($Num*10000000000000000)),4,1);
      $d = substr(hexdec(md5($Num*10000000000000000)),5,1);
     }
     
     $Authnum    = strtoupper($a.$b.$c.$d);
     
     $_SESSION["Authnum"] = $Authnum;
     
     imagestring($im, 5, 5, 2, $Authnum, $Color);
     for($i=0;$i<200;$i++)   //加入干扰象素
     {
         $randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
         imagesetpixel($im, rand()p , rand()0 , $randcolor);
     }
     imagepng($im);
     imagedestroy($im);
    ?>

    需要显示验证码的文件:

    <?
    session_start();

    $AuthInput = $_POST["AuthInput"];
    $action = $_GET["action"];
    ?>
    <script language="javascript">
    function lyalert(){
    if( addform.AuthInput.value=="") {
    alert("请填写验证码");
    document.addform.AuthInput.focus();
    return false;

    }
    </script>
    <form name="addform" method="post" action="?action=save" id="addform" onsubmit="return lyalert()">
    <table width="500" border="1" cellpadding="5" cellspacing="0">
    <tr><td>验证码:</td>
    <td><input name="AuthInput" type="text" id="AuthInput"  size="8" maxlength="4" /><script>document.write("<img src="authimg.php?n=",Math.random(),"" />");</script></td></tr>
    <tr><td colspan="2" align="center"><input type="submit" name="Button1" value="确定" id="Button1" /></td>
    </tr>
    </table>
    <p>&nbsp;</p>
    </form>
      
    <?
    if($action=='save')
    {
    if ($_SESSION["Authnum"] != $AuthInput)
    {
    ?>
    <script language="javascript">
    alert("验证码输入不正确");
    </script>
    <? 
    }
    else
    {
     ?>  
    <script language="javascript">
     alert("提交成功!");
    </script>
    <?
     
     
     

    }
    ?>

  • 相关阅读:
    HDU_2030——统计文本中汉字的个数
    HDU_2028——求多个数的最小公倍数
    HDU_2027——统计元音
    HDU_2026——将单词的首字母变大写
    HDU_2025——查找最大的字母
    HDU_2024——判断字符串是否是c语言合法标识符
    HDU_2023——求平均成绩
    HDU_2022——海选女主角
    HDU_2021——最少RMB问题
    HDU_2020——按绝对值排序
  • 原文地址:https://www.cnblogs.com/jukan/p/5523706.html
Copyright © 2011-2022 走看看