验证码的校验是利用服务器端编程语言(专业超文本预处理器的缩写)中的会议功能来实现。在最顶端声明函数session _ start();告诉服务器我们要用这个函数的功能。
session _ start();接下来我们用到的就是验证码实现的代码。这里用英文数字的代码为例。
$ image=imagecreatetrue color(100,30);//创建一个10030的画布$ white=image color allocate($ image,255,255,255);//白色imagefill($image,0,0,$ white);//覆盖黑色画布然后在验证码实现之前声明一个空变量,用来存放验证码。
$ session=//空变量,存放验证码对于($ I=0;$ i4 $ I){ $ size=6;$x=$i*25 mt_rand(5,10);$y=mt_rand(5,10);$子思_ color=imagecolorallocate,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));$char=join('、array_merge(range('a ',' Z ')、range('a ',' Z ')、range(0,9));$ char=str _ shuffle($ char);$char=substr($char,0,1);imagestring($image,$size,$x,$y,$char,$子思_ color);$会话=$ char//把验证码的每一个值赋值给变量} $ _ SESSION[' SESSION ']=$ SESSION;//这个变量的值与用户输入的值相等for($ k=0;$ k200 $ k){ $ rand _ color=image color allocate($ image,mt_rand(50,200),mt_rand(50,200),mt_rand(50,200));imagesetpixel($image,mt_rand(1,99),mt_rand(1,29),$ rand _ color);} for($ n=0;$ n5 $ n){ $ line _ color=imagecolorable($ image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220));imageline($image,mt_rand(1,99),mt_rand(1,29),mt_rand(1,99),mt_rand(1,29),$ line _ color);}标题(“内容类型:图像/png”);//设置文件输出格式image png($ image);//以巴布亚新几内亚格式输出$image图像图像破坏($ image);//销毁图像用邮政方式来接收验证码strtolower。函数是让服务器不区分大小写。这样可以有效减少用户的输错率。
if(isset($ _ POST[' session '])){ session _ start();if(strtolow($ _ POST[' SESSION '])==strtolow($ _ SESSION[' SESSION ']){ echo ' font color=' # 0000 cc '输入正确/form ';}else{ echo 'font color='#CC0000 '输入错误/font ';} exit();} 下面是超文本标记语言的页面代码。
!DOCTYPE html html head meta charset=' utf-8 '/title确认验证码/标题/标题正文形式方法='post '操作=' ./tushu.php' p验证码图片: img id=' img ' border=' 1 ' src=' http :http://localhost//XXX。PHP ' width=' 100 ' height=' 30 '/p a href=' JavaScript : void(0)' rel=' external no follow ' onclick=' document。getelementbyid(' img ').src='http://localhost//xxx.php ' '看不清?换一个/a p请输入图片中的验证码:输入类型=' text ' name=' session ' value=' '//p pinput类型='submit '值='提交style=' padd :6 px 10px '/p/表单/正文/html这里特别说明一下超文本标记语言代码中加入了一个事件onclick .当用户无法识别当前验证码的时候可以不用刷新浏览器,直接点击"看不清?换一个"即可更换验证码。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。