How to implement verification code function in php

(*-*)浩
Release: 2023-02-25 15:58:01
Original
4395 people have browsed it

PHP implements the verification code function through the GD library, combined with examples to analyze the PHP verification code related image drawing and output operation implementation techniques. Share it with everyone for your reference, the details are as follows:

How to implement verification code function in php

First look at the effect achieved: (recommended learning: PHP video Tutorial)

How to implement verification code function in php

Specific implementation:

<?php
/*PHP实现验证码*/
session_start();//开启会话
//创建画布
$image=imagecreatetruecolor(100,38);
//背景颜色
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code=&#39;&#39;;//存储验证码
//随机选取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 = &#39;abcdefghijklmnopqrstuvwxyz1234567890&#39;;  //数据字典
  $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[&#39;code&#39;]=$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(&#39;content-type:image.png&#39;);
imagepng($image);
//销毁图片
imagedestroy($image);
Copy after login

To realize the connection of forms and the "change one" function Implementation:

<input type="text" placeholder="验证码" name="verifycode" class="captcha">
<br>
<img  id="captcha_img" src="captcha.php?r=<?php echo rand();? alt="How to implement verification code function in php" >" alt="验证码">
<label>
<a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById(&#39;captcha_img&#39;).src=&#39;captcha.php?r=&#39;+Math.random()">换一个</a> 
</label>
Copy after login

captcha.php is followed by a random parameter to achieve the function of changing a verification code. Changing the function can be achieved through simple js. If there is no such function, no parameters can be used.

The above is the detailed content of How to implement verification code function in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!