PHP实例:用SESSION方法实现验证码

来源:互联网 发布:kindle知乎推送 编辑:程序博客网 时间:2024/04/29 12:42

index.php(实现输入验证码页面)代码如下:

Code代码如下:

<html>
<head>
<title>check code</title>
</head>
<body>
<form name=check method=post action=check.php>
<input type=hidden name=init value=1>
验证码:<input type=text name=code maxlength=4 style="width=50px;">
<!--得到验证码图片-->
<img src=image.php>
<p>
<input type=submit value="提交">
</form>
</body>
</html>

  image.php(验证码生成页面)代码如下:

Code代码如下:

<?php
session_start();
srand((double)microtime()*1000000); 
$authnum=rand(1000,9999);
session_register("authnum");
header("content-type:image/png");
        function creat_image( $width, $height, $authnum)
        {
                srand((double)microtime()*1000000); 
                 $im = imagecreate( $width, $height); 
                 $black = ImageColorAllocate( $im, 0,0,0); 
                 $white = ImageColorAllocate( $im, 255,255,255); 
                 $gray = ImageColorAllocate( $im, 200,200,200); 
                imagefill( $im,0,0, $gray); 
//将四位整数验证码绘入图片
                imagestring( $im, 5, 10, 3,  $authnum,  $black); 
                for( $i=0; $i<200; $i++) 
                {         
                     $randcolor = ImageColorallocate( $im,rand(0,255),rand(0,255),rand(0,255));
                    imagesetpixel( $im, rand()%70 , rand()%30 ,  $randcolor); 
                } 
                ImagePNG( $im); 
                ImageDestroy( $im); 
        }
creat_image(60,20, $authnum);
?>

  check.php(验证界面)代码如下:

Code代码如下:

<?php
session_start();
if(!isset( $init))  $init=0;
if( $init)
{
if( $_POST['code']== $authnum)
{
  echo "验证码正确!";
}
else echo "验证码错误,请重新输入!";
}
else echo "调用页面错误!"
?>

原创粉丝点击