PHP生成验证码,4位整数类型并加有干扰像素的验证码,并附有使用验证码判断的例子。请按代码注释中的文件名保存这两段代码,以便测试。
<?
//checkimg.php 生成四位整数验证码图片
Header("Content-type: image/PNG");
srand((double)microtime()*1000000);
$im = imagecreate(58,28);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
imagefill($im,68,30,$gray);
//将验证码绘入图片
imagestring($im, 5, 10, 8, $HTTP_GET_VARS['authnum'], $white);
for($i=0;$i<50;$i++) //加入干扰象素
{
imagesetpixel($im, rand()%70 , rand()%30 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?>
以下是调用的例子,注意是在PHP下调用的:
<?
//文件名:testchecknum.php
srand((double)microtime()*1000000);
if(isset($_POST['authinput']))
{
if(strcmp($_POST['authnum'],$_POST['authinput'])==0)
echo "验证输入正确!";
else
echo "验证不正确!";
}
//生成新的四位整数验证码
while(($authnum=rand()%10000)<1000);
?>
<form action="testchecknum.php" method="post">
<table>
请输入验证码:<input type=text name=authinput style="width: 80px"><br>
<input type=submit name="验证" value="提交验证码">
<input type=hidden name=authnum value=<? echo $authnum; ?>>
<img src=checkimg.php?authnum=<? echo $authnum; ?>>
</table>
</form>
<?