②PHP运用函数实现图形验证码

PHP运用函数实现图形验证码

代码分享在github:https://github.com/LVQINGDONG/learn_php找到numberImg分支下载

实现步骤:

①生成随机字符串(验证码的数字或字母组合)

②生成随机图形验证码

③设计表单结构-注册页面

--------------------------------------------------------

①生成随机字符串代码:functions.php

用到的php系统函数和功能:

range()函数: 创建并返回一个包含指定范围的元素的数组。

array_merge()函数:把两个或多个数组合并为一个数组。

array_flip()函数:返回一个反转后的数组。

array_rand()函数:从数组中随机选出一个或者多个元素。

创建函数测试一下functions.php:

       

②生成随机图形验证码create_numberImg.php:

用到的php系统函数和功能:

imagecreate():创建一个基于调色板的图像。

imagecolorallocate():为一副图像分配颜色。

imagepng():以png格式将图像输出到浏览器或文件。

imagesx(),imagesy():返回图像的宽度,高度。

imagefontwidth()  , imagefontheight():返回字符的宽度,高度像素值。

imagestring():水平的画一行字符。

imagedestroy():销毁一副图像。

实现效果:


③设计表单结构-注册页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        ul{
            border: 1px solid red;
            width: 300px;
        }
        ul li{
            width: 250px;
            height: 30px;
            margin-top: 10px;
            list-style: none;
        }
        .li_font{
            float: left;
        }
        .li_input{
            float: right;
        }
        .numberImg{
            margin-left: 100px;
        }
    </style>
</head>
<body>
<!--$_SERVER["PHP_SELF"]是超级全局变量,返回当前正在执行脚本的文件名,与 document root相关-->
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
    <ul>
        <li>
            <div class="li_font">用户名:</div>
            <div class="li_input"><input type="text" name="username" class="username"></div>
        </li>
        <li>
            <div class="li_font">密码:</div>
            <div class="li_input"><input type="password" name="password" class="password"></div>
        </li>
        <li>
            <div class="li_font">确认密码:</div>
            <div class="li_input"><input type="password" name="password2" class="password2"></div>
        </li>
        <li>
            <div class="li_font">邮箱:</div>
            <div class="li_input"><input type="text" name="email" class="email"></div>
        </li>
        <li>
            <div class="numberImg"><img src="create_numberImg.php"></div>
        </li>
        <li>
            <div class="li_font">验证码:</div>
            <div class="li_input"><input type="text" name="number" class="number"></div>
        </li>
        <li>
            <div><input type="submit" name="submit" class="submit" value="注册"></div>
        </li>
    </ul>
</form>
</body>
</html>

最后运行效果:







猜你喜欢

转载自blog.csdn.net/li__po/article/details/80542143