ホームページ > php教程 > php手册 > php编程每天必学之验证码

php编程每天必学之验证码

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-06 19:33:40
オリジナル
1209 人が閲覧しました

本文为大家分享了php图片验证码的实现代码,分享给大家供大家参考,具体内容如下 1.验证码图片生成 captcha.php //1.生成100*30大小的图片,默认为黑色$image = imagecreatetruecolor(100,30);//创建白色底图$bgcolor = imagecolorallocate($image,255,255,25

本文为大家分享了php图片验证码的实现代码,分享给大家供大家参考,具体内容如下

1.验证码图片生成
captcha.php

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

26

27

28

29

30

31

32

33

34

35

36

37

38

//1.生成100*30大小的图片,默认为黑色

$image = imagecreatetruecolor(100,30);

//创建白色底图

$bgcolor = imagecolorallocate($image,255,255,255);

//用白色填充黑色

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

 

//2.随机显示数字或字母

$captch_code = "";

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

 $fontsize=6;

 $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));

 $data = "abcdefghijkmnpqrstuvwxy3456789";

 $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["authcode"] = $captch_code;

 

//3.增加干扰

//干扰点

for($i=0;$i<100;$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<2;$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);

}

 

 

header("content-type:image/png");

imagepng($image);

ログイン後にコピー

2.页面实现验证码功能
form.php

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

26

27

28

29

30

<&#63;php

if(isset($_POST["authcode"])){

 session_start();

 if(strtolower($_POST["authcode"])==$_SESSION["authcode"]){

  echo "OK";

 }else{

  echo "NO";

 }

}

 

&#63;>

 

 

<!doctype html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>Document</title>

</head>

<body>

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

 <p>验证码图片: <img  id="img" border="1" src="captcha.php&#63;r=<&#63;php echo rand()&#63; alt="php编程每天必学之验证码" >" alt="">

 <a href="javascript:void(0)" onclick="document.getElementById('img').src='captcha.php&#63;r'+Math.random() ">换一个</a>

 </p>

 <p><input type="text" name="authcode"></p>

 <p><input type="submit" value="提交"></p>

 

</form>

</body>

</html>

ログイン後にコピー

以上就是本文的全部内容,帮助大家轻松实现php图片验证码。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート