Home Backend Development PHP Tutorial PHP implements login verification code verification function

PHP implements login verification code verification function

Jun 01, 2018 am 11:26 AM
php Function check

This article mainly introduces the verification code verification function in PHP in detail. It is mainly implemented by using the SESSION function in PHP. It has certain reference value. Interested friends can refer to it

The verification code is verified by using the SESSION function in PHP.

Declare the function at the top session_start(); Tell the server that we want to use this function.

1

session_start();

Copy after login

The next thing we use is the code to implement the verification code. Here we use English numeric codes as an example.

1

2

3

$image = imagecreatetruecolor(100, 30); //创建一个100×30的画布

$white = imagecolorallocate($image,255,255,255);//白色

imagefill($image,0,0,$white);//覆盖黑色画布

Copy after login

Then declare an empty variable before the verification code is implemented to store the verification code.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

$session = ""; //空变量 ,存放验证码

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

 $size = 6;

 $x = $i*25+mt_rand(5,10);

 $y = mt_rand(5,10);

 $sizi_color = imagecolorallocate($image,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,$sizi_color);

 $session .= $char ; //把验证码的每一个值赋值给变量

}

 $_SESSION['session'] = $session; //这个变量的值与用户输入的值相等

 

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

 $rand_color = imagecolorallocate($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;$n<5;$n++){

 $line_color = imagecolorallocate($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);

}

header('content-type:image/png');//设置文件输出格式

imagepng( $image ); //以png格式输出$image图像

imagedestroy( $image ); //销毁图像

Copy after login

Use POST method to receive verification code. The strtolower function makes the server case-insensitive. This can effectively reduce the user's input error rate.

1

2

3

4

5

6

7

8

9

if(isset($_POST['session'])){

 session_start();

 if(strtolower($_POST['session'])==strtolower($_SESSION['session'])){

  echo'<font color="#0000CC">输入正确</form>';

 }else{

  echo '<font color="#CC0000"><b>输入错误</b></font>';

 }

 exit();

}

Copy after login

The following is the HTML page code.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8"/>

 <title>确认验证码</title>

</head>

<body>

 <form method="post" action="./tushu.php">

 <p>验证码图片:<img id="img" border="1" src="http://localhost//xxx.php" width="100" height="30"></p>

 <a href="javascript:void(0)" rel="external nofollow"  onclick="document.getElementById('img').src='http://localhost//xxx.php'">看不清?换一个</a>

 <p>请输入图片中的验证码:<input type="text" name="session" value=""/></p>

 <p><input type="submit" value="提交" style="padding:6px 10px;"></p>

 </form>

</body>

</html>

Copy after login

Related recommendations:

PHP implements compressing multiple files into zip format and downloading them locally

PHP implements the function of generating data dictionary

The above is the detailed content of PHP implements login verification code verification function. For more information, please follow other related articles on the PHP Chinese website!

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

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

CakePHP Project Configuration

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

CakePHP Date and Time

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

CakePHP File upload

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

CakePHP Routing

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

Discuss CakePHP

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

How To Set Up Visual Studio Code (VS Code) for PHP Development

CakePHP Quick Guide CakePHP Quick Guide Sep 10, 2024 pm 05:27 PM

CakePHP Quick Guide

See all articles