PHP生成图形数字验证码

发布时间:2007年11月21日      浏览次数:824 次
图形数字验证代码Code:
<?
srand((double)microtime()*1000000);
//验证用户输入是否和验证码一致
if(isset($_POST['check_code']))
{
if(strcmp($_POST['chk_num'],$_POST['check_code'])==0)
echo "验证成功!";
else
echo "验证失败!";
}
//生成新的四位整数验证码
while(($authnum=rand()%10000)<1000);
?>
<form action="?" method=post>
<table>
请输入验证码:<input type=text name=check_code style="width: 80px"><br>
<input type=submit name="验证" value="提交验证码">
<? while(($chk_num=rand()%10000)<1000); ?>
<img src='check_img.php?chk_num=<?=$chk_num?>' border='0'>
<input name="chk_num" type="hidden" value="<?=$chk_num?>">
</table>
</form>
---------------------------------------------------------------------------------------
check_img.php
<?
//生成验证码图片
Header("Content-type: image/PNG");
srand((double)microtime()*1000000);
$im = imagecreate(45,18);//设置图片的宽与高
$black = ImageColorAllocate($im, 0,0,0);//设置背景颜色
$white = ImageColorAllocate($im, 255,255,255);//设置文字颜色
$gray = ImageColorAllocate($im, 200,200,200);//干扰颜色
imagefill($im,45,18,$gray);
//将四位整数验证码绘入图片
imagestring($im, 5, 5, 1, $HTTP_GET_VARS['chk_num'], $white);//5, 5, 1分别表示为字体大小,左边距,上边距
for($i=0;$i<100;$i++) //加入干扰象素
{
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?>
文章来源:桂林唯创网络
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!