您的位置:首页 > 编程语言 > PHP开发

php编程——验证码的实现(session方法)

2016-06-05 22:31 585 查看
index.php(实现输入验证码页面)代码如下:

<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(验证码生成页面)代码如下:

<?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(验证界面)代码如下:

<?php

session_start();

if(!isset($init)) $init=0;

if($init)

{

 if($_POST['code']==$authnum)

 {

  echo "验证码正确!";

 }

 else echo "验证码错误,请重新输入!";

}

else echo "调用页面错误!"

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: