php生成验证码与验证码验证完整实例
html页面,代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns = "http://HdhCmsTestw3.org/1999/xhtml" > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" /> < title > PHP验证码实例 </ title > < script language = "javascript" > function refresh_code() { form1.imgcode.src = "verifycode.php?a=" +Math.random(); } </ script > </ head > < body > < form id = "form1" name = "form1" method = "post" action = "checkcode.php" > < label for = "code" > 验证码: </ label > < input type = "text" name = "code" id = "textfield" /> < img id = "imgcode" src = "VerifyCode.php" alt = "验证码" /> < a href = "javascript:refresh_code()" > 看不清?换一个 </ a > < input type = "submit" name = "button" id = "button" value = "提交" /> </ form > </ body > </ html >verifycode.php文件代码如下:
<?php /* 图片验证码 Powered By KASON */ session_start(); $num =4; //验证码个数 $width =80; //验证码宽度 $height =20; //验证码高度 $code = ' ' ; for ( $i =0; $i < $num ; $i ++) //生成验证码 { switch (rand(0,2)) { case 0: $code [ $i ]= chr (rand(48,57)); break ; //数字 case 1: $code [ $i ]= chr (rand(65,90)); break ; //大写字母 case 2: $code [ $i ]= chr (rand(97,122)); break ; //小写字母 } } $_SESSION [ "VerifyCode" ]= $code ; $image =imagecreate( $width , $height ); imagecolorallocate( $image ,255,255,255); for ( $i =0; $i <80; $i ++) //生成干扰像素 { $dis_color =imagecolorallocate( $image ,rand(0,2555),rand(0,255),rand(0,255)); imagesetpixel( $image ,rand(1, $width ),rand(1, $height ), $dis_color ); } for ( $i =0; $i < $num ; $i ++) //打印字符到图像 { $char_color =imagecolorallocate( $image ,rand(0,2555),rand(0,255),rand(0,255)); imagechar( $image ,60,( $width / $num )* $i ,rand(0,5), $code [ $i ], $char_color ); } header( "Content-type:image/png" ); imagepng( $image ); //输出图像到浏览器 imagedestroy( $image ); //释放资源 ?>checkcode.php文件如下:
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <?php ini_set ( 'display_errors' , 'Off' ); session_start(); if (( strtoupper ( $_POST [ "code" ])) == strtoupper (( $_SESSION [ "VerifyCode" ]))){ print( "验证码正确," ); } else { print( "验证码错误," ); } echo "提交的验证码:" . strtoupper ( $_POST [ "code" ]). ",正确的验证码:" . strtoupper ( $_SESSION [ "VerifyCode" ]); ?>查看更多关于php生成验证码与验证码验证完整实例 - 综合实例的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did3822