全国服务热线:400-6263-721

位置:长沙达内IT教育培训学校 > 学校动态 > php如何实现验证码

php如何实现验证码

来源:长沙达内IT教育培训学校时间:2021/10/24 15:51:56

  zui简单的方法,还是把整个代码复制走了。

  新建一个captcha.php:

  //10>设置session,必须处于脚本zui顶部

  session_start();

  $image=imagecreatetruecolor(100,30);//1>设置验证码图片大小的函数

  //5>设置验证码颜色imagecolorallocate(int im,int red,int green,int blue);

  $bgcolor=imagecolorallocate($image,255,255,255);//#ffffff

  //6>区域填充int imagefill(int im,int x,int y,int col)(x,y)所在的区域着色,col表示欲涂上的颜色

  imagefill($image,0,0,$bgcolor);

  //10>设置变量

  $captcha_code="";

  //7>生成随机数字

  for($i=0;$i<4;$i++){

  //设置字体大小

  $fontsize=6;

  //设置字体颜色,随机颜色

  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//0-120深颜色

  //设置数字

  $fontcontent=rand(0,9);

  //10>.=连续定义变量

  $captcha_code.=$fontcontent;

  //设置坐标

  $x=($i*100/4)+rand(5,10);

  $y=rand(5,10);

  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);

  }

  //10>存到session

  $_SESSION['authcode']=$captcha_code;

  //8>增加干扰元素,设置雪花点

  for($i=0;$i<200;$i++){

  //设置点的颜色,50-200颜色比数字浅,不干扰阅读

  $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));

  //imagesetpixel—画一个单一像素

  imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);

  }

  //9>增加干扰元素,设置横线

  for($i=0;$i<4;$i++){

  //设置线的颜色

  $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));

  //设置线,两点

  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);

  }

  //2>设置头部,image/png

  header('Content-Type:image/png');

  //3>imagepng()建立png图形函数

  imagepng($image);

  //4>imagedestroy()结束图形函数销毁$image

  imagedestroy($image);

  接着就是静态页的代码了:index.html

  doctype html>

  从index.html可以看到,提交的表单是到form.php的,所以还要有一个判断的form.php代码:

  php

  header("Content-Type:text/html;charset=utf-8");//设置头部信息//isset()检测变量是否设置

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1684/news/426909/违者必究! 以上就是长沙达内IT教育培训学校 小编为您整理 php如何实现验证码的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721