목차
php实现点击可刷新验证码,php实现刷新验证码
php教程 php手册 php实现点击可刷新验证码,php实现刷新验证码

php实现点击可刷新验证码,php实现刷新验证码

Jun 13, 2016 am 08:51 AM
php 새로 고치다 인증코드

php实现点击可刷新验证码,php实现刷新验证码

验证码类文件 CreateImg.class.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

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

<&#63;php

  

class ValidationCode

{

private $width,$height,$codenum;

public $checkcode;   //产生的验证码

private $checkimage//验证码图片

private $disturbColor = ''; //干扰像素

  

function __construct($width='80',$height='20',$codenum='4')

{

  $this->width=$width;

  $this->height=$height;

  $this->codenum=$codenum;

}

function outImg()

{

  //输出头

  $this->outFileHeader();

  //产生验证码

  $this->createCode();

  

  //产生图片

  $this->createImage();

  //设置干扰像素

  $this->setDisturbColor();

  //往图片上写验证码

  $this->writeCheckCodeToImage();

  imagepng($this->checkimage);

  imagedestroy($this->checkimage);

}

  

private function outFileHeader()

{

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

}

  

private function createCode()

{

  $this->checkcode = strtoupper(substr(md5(rand()),0,$this->codenum));

}

  

private function createImage()

{

  $this->checkimage = @imagecreate($this->width,$this->height);

  $back = imagecolorallocate($this->checkimage,255,255,255);

  $border = imagecolorallocate($this->checkimage,0,0,0); 

  imagefilledrectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$back); // 白色底

  imagerectangle($this->checkimage,0,0,$this->width - 1,$this->height - 1,$border);  // 黑色边框

}

  

private function setDisturbColor()

{

  for ($i=0;$i<=200;$i++)

  {

  $this->disturbColor = imagecolorallocate($this->checkimage, rand(0,255), rand(0,255), rand(0,255));

  imagesetpixel($this->checkimage,rand(2,128),rand(2,38),$this->disturbColor);

  }

}

  

private function writeCheckCodeToImage()

{

  for ($i=0;$i<=$this->codenum;$i++)

  {

  $bg_color = imagecolorallocate ($this->checkimage, rand(0,255), rand(0,128), rand(0,255));

  $x = floor($this->width/$this->codenum)*$i;

  $y = rand(0,$this->height-15);

  imagechar ($this->checkimage, rand(5,8), $x, $y, $this->checkcode[$i], $bg_color);

  }

}

function __destruct()

{

  unset($this->width,$this->height,$this->codenum);

}

}

&#63;>

로그인 후 복사

包含文件 imgcode.php

1

2

3

4

5

6

7

<&#63;php

session_start();

require_once('CreateImg.class.php');

$image = new ValidationCode('80','20','4');  //图片长度、宽度、字符个数

$image->outImg();

$_SESSION['validationcode'] = $image->checkcode; //存贮验证码到 $_SESSION 中

&#63;>

로그인 후 복사

前台文件 demo.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

&#63;php

session_start();

$test = $_POST['test'];

$test = strtoupper(trim($test));

$submit = $_POST['submit'];

if(isset($submit)){

if($test==$_SESSION['validationcode']){

  echo 'true';

} else {

  echo 'false';

}

}

&#63;>

  

<html>

<head>

<title>Image</title>

<meta http-equiv="content-type" content="text/html;charset=utf-8">

<script language="javascript">

function newgdcode(obj,url) {

obj.src = url+ '&#63;nowtime=' + new Date().getTime();

//后面传递一个随机参数,否则在IE7和火狐下,不刷新图片

}

</script>

<body>

<img src="/static/imghw/default1.png"  data-src="imgcode.php"  class="lazy" alt="看不清楚,换一张" align="absmiddle"   style="max-width:90%" onclick="javascript:newgdcode(this,this.src);" />

<form method="POST" name="form1" action="image.php">

<input type="text" name="test">

<br />

<input type="submit" name="submit" value="提交">

</form>

</body>

</head>

</html>

로그인 후 복사

以上就是为大家介绍的php点击验证码即可刷新的全部代码,希望对大家的学习有所帮助。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

See all articles