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

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

php如何实现验证码

来源:厦门达内IT教育培训学校时间:2021/1/26 9:51:17

  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/1718/news/316830/违者必究! 以上就是厦门达内IT教育培训学校 小编为您整理 php如何实现验证码的全部内容。

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