本文分享了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可运算的验证码全部代码,希望对大家的学习有所帮助。