php编程----验证码的实现(SESSION方法)

代码主要来源:phpfans.net      经本站整理,排错 

共三个文件:index.html    image.php    check.php

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 "调用页面错误!"
?>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值