hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP问题 - 正文 请牢记本站网址www.sosophp.cn

php怎样完成验证码功用【php题目】

2019-11-26PHP问题搜搜PHP网54°c
A+ A-
PHP经由过程GD库完成验证码功用,连系实例情势剖析了php验证码相干图片绘制、输出操纵完成技能。分享给人人供人人参考,细致以下:

起首看看完成的结果:(引荐进修:PHP视频教程)

细致完成:

<?php
/*PHP完成验证码*/
session_start();//开启会话
//建立画布
$image=imagecreatetruecolor(100,38);
//背景色彩
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code='';//存储验证码
//随机拔取4个数字
for($i=0;$i<4;$i++){
  $fontsize=10;    //
  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//随机色彩
  $fontcontent=rand(0,9);
  $captch_code.=$fontcontent;
  $x=($i*100/4)+rand(5,10);  //随机坐标
  $y=rand(5,10);
  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/*//字母和数字夹杂验证码
for($i=0;$i<4;$i++) {
  $fontsize = 10;    //
  $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));//??????
  $data = 'abcdefghijklmnopqrstuvwxyz1234567890';  //数据字典
  $fontcontent = substr($data, rand(0, strlen($data)), 1);
  $captch_code.=$fontcontent;
  $x = ($i * 100 / 4) + rand(5, 10);
  $y = rand(5, 10);
  imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}*/
$_SESSION['code']=$captch_code;
//增添滋扰点
for($i=0;$i<200;$i++){
  $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//
}
//增添滋扰线
for($i=0;$i<3;$i++){
  $linecolor=imagecolorallocate($image,rand(80,280),rand(80,220),rand(80,220));
  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
//输出花样
header('content-type:image.png');
imagepng($image);
//烧毁图片
imagedestroy($image);

完成表单的衔接和“换一个”功用的完成:

<input type="text" placeholder="验证码" name="verifycode" class="captcha">
<br>
<img id="captcha_img" src="captcha.php?r=<?php echo rand();?>" alt="验证码">
<label>
<a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById('captcha_img').src='captcha.php?r='+Math.random()">换一个</a> 
</label>

captcha.php背面加上一个随机参数是为了完成换一个验证码的功用,,换一个功用经由过程简朴的js即可完成。假如没有这个功用能够不必参数。

以上就是php怎样完成验证码功用的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
php怎样完成验证码功用【php题目】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: