HTML5   发布时间:2022-04-25  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了标准 4 位验证码的实现大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在上代码之前,我们先看一下验证码的最终效果图:

标准 4 位验证码的实现

话不多说,我们看看是怎样实现的。这个验证码的实现需要建两个PHP文件一个index.PHP(展示),另一个vcode.PHP(验证码加工)。

先看index.PHP

<html>
<head>
</head>
<body>
<form>
    验证码:<input type="text" name="vcode">
    <script type="text/javascript">
        //生成一个四位数
        var num1 = Math.round(R_896_11845@ath.random()*10000000+@R_772_6422@;
        var num = num1.toString().substr(0,4);
        document.write("<img name='c' src='vcode.PHP?code="+num+"'>");//验证码作为图片从vcode.PHP文件返回
        function recode(){//看不清换一张验证码的实现函数
            var num1 = Math.round(R_896_11845@ath.random()*10000000+@R_772_6422@;
            var num = num1.toString().substr(0,4);
            document.c.src = "vcode.PHP?code="+num;
        }
    </script>
    <a href="javascript:recode()" style="text-decoration:none;">看不清?换一张</a>
</form>
</body>
</html>

再看vcode.PHP

<?PHP
header("Content-type:image/png");//用header()函数发送http头信息给浏览器,告诉输出图片类型为png
$im=imagecreate(60,20);//创建画布
imagefill($im,imagecolorallocate($im,200,200));//imageallocate()用于指定分配颜色,而imagefill()用于设置画布背景颜色
$code=$_GET['code'];//从index.PHP接收数字
for($i=0;$i<4;$i++){
    $color=imagecolorallocate($im,rand(0,100),100));
    imageString($im,rand(3,5),60*$i/4+rand(3,6),$code[$i],$color);//绘制文字
}
for($j=0;$j<200;$j++){
    imagesetpixel($im,60),20),255),255)));//绘制200个不规则像素点
}
imagepng($im);//输出图像
imagedestroy($im);//销毁图像资源
?>

运行以下,看效果

标准 4 位验证码的实现

不算复杂的4位验证码就是这样实现的。如果真要说有什么需要注意的地方,那么就是验证码实现过程中使得像素点均匀分布时的那一点小算术(如我上面的“60*$i/4+rand(3,6)”,这个可以自己灵活设计)。

大佬总结

以上是大佬教程为你收集整理的标准 4 位验证码的实现全部内容,希望文章能够帮你解决标准 4 位验证码的实现所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。