php验证码|php图片验证码|php image.verifyCode.class.php

PHP中文网
PHP中文网 原创
2016-05-26 08:19:27 1048浏览

0:效果图

141608122202793.png

1:index.php用来生成验证码图片

<?php
session_start();
header ('Content-Type: image/png');
$image=imagecreatetruecolor(100, 30);
//背景颜色为白色
$color=imagecolorallocate($image, 255, 255, 255);
imagefill($image, 20, 20, $color);
// for($i=0;$i<4;$i++){
    // $font=6;
    // $x=rand(5,10)+$i*100/4;
    // $y=rand(8, 15);
    // $string=rand(0, 9);
    // $color=imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
    // imagestring($image, $font, $x, $y, $string, $color);
// }
$code='';
for($i=0;$i<4;$i++){
    $fontSize=8;
    $x=rand(5,10)+$i*100/4;
    $y=rand(5, 15);
    $data='abcdefghijklmnopqrstuvwxyz123456789';
    $string=substr($data,rand(0, strlen($data)),1);
    $code.=$string;
    $color=imagecolorallocate($image,rand(0,120), rand(0,120), rand(0,120));
    imagestring($image, $fontSize, $x, $y, $string, $color);
}
$_SESSION['code']=$code;//存储在session里
for($i=0;$i<200;$i++){
    $pointColor=imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255));
    imagesetpixel($image, rand(0, 100), rand(0, 30), $pointColor);
}
for($i=0;$i<2;$i++){
    $linePoint=imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255));
    imageline($image, rand(10, 50), rand(10, 20), rand(80,90), rand(15, 25), $linePoint);
}
imagepng($image);
imagedestroy($image);
?>

2:form.php前端页面.用于输入验证码并验证

<?php
    if(isset($_REQUEST['code'])){
         session_start();
        if($_REQUEST['code']==$_SESSION['code']){
            echo "<font color='red'>输入正确</font>";
        }else{
            echo "<font color='red'>输入错误</font>";
        }
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <meta chartset="UTF-8" />
        <style type="text/css" rel="stylesheet">
            a{
                text-decoration:none;
                font-size:30px;
                color:blue;
            }
            a:hover{
                text-decoration:underline;
            }
        </style>
    </head>
    <body>
        <form action="form.php" method="get">
            验证码: &nbsp;<img id="img" src="index.php?" onclick="changeCode()"/>
            <a href="javascript:void(0)" onclick="changeCode()">看不清?</a>&nbsp;<br />
            请输入验证码:&nbsp;<input name="code" /><br />
            <input type="submit" value="提交" />
        </form>
    </body>
    <script type="text/javascript">
        
        function changeCode(){
            var img=document.getElementById('img');
            //img.src='index.php?r='+Math.random();
            img.setAttribute('src','index.php?r='+Math.random());
        }
    </script>
</html>


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:概率 PHP 下一条:5步搞定谷歌插件开发