php生成随机验证码图片的示例代码

 更新时间:2023年09月19日 09:58:43   作者:祈愿lucky  
这篇文章主要介绍了php生成随机验证码图片的示例代码,结合实例形式分析了php生成随机验证码图片的实现方法与相关操作注意事项,文中有详细的代码示例,需要的朋友可以参考下

1,CaptchaPicture.php用于生成画布,然后在画布上生成四位随机验证码

<?php
session_start();
header("Content-type:image/png");   //创建图像的格式
$image_width=76;                           //设置图像的宽度
$image_height=40;                          //设置图像的高度
$length=4;                                 //字符串长度为4
//除去0,2,o,l容易混淆的字符
$str="23456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKMNOPQRSRUVWXYZ";
$code='';
for($i=0;$i<$length;$i++){
    $code.=$str[mt_rand(0,strlen($str))-1];  //从字符串中随机选择
}
$_SESSION['verify']=$code;                              //从获取到的随机书验证码写入到Session变量中
$image=imagecreate($image_width,$image_height);          //创建一个画布
imagecolorallocate($image,25,255,255);   //设置画布的颜色
For($i=0;$i<strlen($_SESSION['verify']);$i++){    //循环读取Session变量中的验证码
    $font = mt_rand(3,5);  //设置随机的字体
    $x=mt_rand(1,8)+$image_width*$i/4;        //设置随机字符所在位置的x坐标
    $y=mt_rand(8,$image_height/4);            //设置随机字符所在位置的y坐标
    //设置字符颜色
    $color = imagecolorallocate($image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
    imagestring($image,$font,$x,$y,$_SESSION['verify'][$i],$color);    //水平输出字符
}
//绘制干扰元素点
$pixel=30;
$black = imagecolorallocate($image,0,0,0);
for($i=0;$i<$pixel;$i++){
    imagesetpixel($image,mt_rand(0,$image_width-1),mt_rand(0,$image_height-1),$black);
}
imagepng($image);  //生成png格式的图像
imagedestroy($image);  //释放图片资源
?>

2,SubmitVerify.php用于做一个简单的测试,验证验证码功能是否正常

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="CheckLogin.php" method="post">
    <div class="verify">
        <input type="text" id="verify" name="verify" class="input" placeholder="验证码">
        <a>
            <img src="CaptchPicture.php" onclick="this.src=this.src+'?'+Math.random()">   //单击验证码生成新的验证码
        </a>
    </div>
<button type="submit">提交</button>
</form>
</body>
</html>

3,CheckLogin.php用于验证提交后是否能接受到传递的信息,以及判断输入的验证码和生成的验证码是否一致

<?php
session_start();
$checks = $_POST["verify"];   //获取表单提交的验证码(用户输入的验证码)
if ($checks=="") {
    echo "<script>alert('验证码不能为空');
window.location.href='SubmitVerify.php';</script>";
}
    if ($checks==$_SESSION["verify"]){            //这个获取的是系统随机生成的验证码
        echo "<script>alert('登录成功');</script>";
    }else{
        echo "<script>alert('你输入的验证码不正确!')
window.location.href='SubmitVerify.php'
</script>";
    }

到此这篇关于php生成随机验证码图片的示例代码的文章就介绍到这了,更多相关php生成随机验证码图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php实现四舍五入的方法小结

    php实现四舍五入的方法小结

    这篇文章主要介绍了php实现四舍五入的方法,实例总结了php实现四舍五入的三种常用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php输出形式实例整理

    php输出形式实例整理

    在本篇文章里小编给大家分享了关于php输出形式实例内容,需要的朋友们可以参考学习下。
    2020-05-05
  • php记录日志的实现代码

    php记录日志的实现代码

    php记录日志的实现代码,主要分为几种模式,需要的朋友可以参考下。
    2011-08-08
  • 基于PHP array数组的教程详解

    基于PHP array数组的教程详解

    本篇文章是对PHP中的array数组进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP5中使用PDO连接数据库的方法

    PHP5中使用PDO连接数据库的方法

    PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等。
    2010-08-08
  • PHP实现Soap通讯的方法

    PHP实现Soap通讯的方法

    这篇文章主要介绍了PHP实现Soap通讯的方法,是web service的一个典型应用,需要的朋友可以参考下
    2014-11-11
  • php 文件上传系统手记

    php 文件上传系统手记

    说是手记,实际上整个程序已经写完了,虽然有点难看,但还行..毕竟是自己动手写得第一个程序...
    2009-10-10
  • PHP SEO优化之URL优化方法

    PHP SEO优化之URL优化方法

    在处理地址URL时,用这个函数可以轻松就把单词用"-"连起来
    2011-04-04
  • php生成RSS订阅的方法

    php生成RSS订阅的方法

    这篇文章主要介绍了php生成RSS订阅的方法,较为详细的分析了一个RSS订阅类及其具体使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • PHP读取和写入CSV文件的示例代码

    PHP读取和写入CSV文件的示例代码

    CSV(逗号分隔值)文件是使用逗号分隔信息的文本文件。该文件的每一行都是一条数据记录,也就意味着它可以用于以表格的形式展现信息。本文主要介绍了PHP读取和写入CSV文件的方法,需要的可以参考一下
    2023-04-04

最新评论