本文分享了php实现可运算的验证码的代码实例,希望对大家的学习有所帮助。
demo.php代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php session_start(); if (!emptyempty( $_POST [ 'Login' ])){ if (md5( strtoupper ( $_POST [ 'Login' ])) == $_SESSION [ 'Login' ]){ echo 'Correct' ; } else { echo 'Error' ; } } ?> <form method= "post" > <input type= "text" name= "Login" value= "" /><img src= "img.php?Action=Login&imgW=80&imgH=30" align= "absmiddle" > <input type= "submit" value= "Login" /> </form> |
img.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
|
<?php session_start(); /** * 随机的数字,之和验证码 * 修改日期 2006-12-20 */ function getCode ( $length = 32, $mode = 0) { switch ( $mode ) { case '1' : $str = '123456789' ; break ; case '2' : $str = 'abcdefghijklmnopqrstuvwxyz' ; break ; case '3' : $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ; break ; case '4' : $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' ; break ; case '5' : $str = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789' ; break ; case '6' : $str = 'abcdefghijklmnopqrstuvwxyz1234567890' ; break ; default : $str = 'ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789' ; break ; } $result = '' ; $l = strlen ( $str )-1; for ( $i = 0; $i < $length ; $i ++) { $num = rand(0, $l ); $result .= $str [ $num ]; } return $result ; } //建立验证图片 function createAuthNumImg( $randStr , $imgW =100, $imgH =40, $fontName ) { header ( "content-type: image/png" ); $image = imagecreate( $imgW , $imgH ); $color_white = imagecolorallocate( $image , 255 , 255 , 255); $color_gray = imagecolorallocate( $image , 228 , 228 , 228); $color_black = imagecolorallocate( $image , 255 , 102 , 204); for ( $i = 0 ; $i < 1000 ; $i ++) { imagesetpixel( $image , mt_rand(0 , $imgW ) , mt_rand(0 , $imgH ) , $color_gray ); } imagerectangle( $image , 0 , 0 , $imgW - 1 , $imgH - 1 , $color_gray ); for ( $i =10; $i < $imgH ; $i +=10) imageline( $image , 0, $i , $imgW , $i , $color_gray ); imagettftext( $image ,16,5,3,25, $color_black , $fontName , $randStr ); for ( $i =10; $i < $imgW ; $i +=10) imageline( $image , $i , 0, $i , $imgH , $color_gray ); imagepng( $image ); imagedestroy( $image ); } $a =GetCode(1,1); $b =GetCode(1,1); $c =GetCode(1,1); $Passport = $a . "+" . $b . "+" . $c ; $Total = $a + $b + $c ; $Total ; $_SESSION [ $_GET [ 'Action' ]]=md5( strtoupper ( $Total )); createAuthNumImg( $Passport , $_GET [ 'imgW' ], $_GET [ 'imgH' ], "verdana.ttf" ); ?> |
以上就是为大家介绍的php可运算的验证码全部代码,希望对大家的学习有所帮助。