PHP实现验证码

数字验证码

?/**Filename:authpage.php*/session_澳门新葡亰手机版,start();//srand((double)microtime()*1000000);$authnum=$_SESSION[”authnum”];//验证用户输入是否和验证码一致if(isset($_POST[”authinput”])){if(strcmp($_POST[”authinput”],$_SESSION[”authnum”])==0)echo验证成功!;elseecho验证失败!;}//生成新的四位整数验证码//while(($authnum=rand()%10000)1000);?formaction=test4.phpmethod=posttable请输入验证码:inputtype=textname=authinputstyle=width:80pxbrinputtype=submitname=验证value=提交验证码inputtype=hiddenname=authnumvalue=?echo$authnum;?imgsrc=authimg.php?authnum=?echo$authnum;?/table/form

authimg.php

?php//生成验证码图片Header(Content-type:image/PNG);srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用session_start();//将随机数存入session中$_SESSION[”authnum”]=;$im=imagecreate(62,20);//制定图片背景大小$black=ImageColorAllocate($im,0,0,0);//设定三种颜色$white=ImageColorAllocate($im,255,255,255);$gray=ImageColorAllocate($im,200,200,200);imagefill($im,0,0,$gray);//采用区域填充法,设定while(($authnum=rand()%100000)10000);//将四位整数验证码绘入图片$_SESSION[”authnum”]=$authnum;imagestring($im,5,10,3,$authnum,$black);//用col颜色将字符串s画到image所代表的图像的x,y座标处像的左上角为0,0)。//如果font是1,2,3,4或5,则使用内置字体for($i=0;$i200;$i++)//加入干扰象素{$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));imagesetpixel($im,rand()%70,rand()%30,$randcolor);}ImagePNG($im);ImageDestroy($im);?<