如何实现PHP生成及验证验证码的完整示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计301个文字,预计阅读时间需要2分钟。
无
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" www.w3.org/1999/xhtml">
<head>
<meta www.hzhuti.com/nokia/c6/"> www.hzhuti.com/nokia/c6/</a> */
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"]); ?>
本文共计301个文字,预计阅读时间需要2分钟。
无
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" www.w3.org/1999/xhtml">
<head>
<meta www.hzhuti.com/nokia/c6/"> www.hzhuti.com/nokia/c6/</a> */
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"]); ?>

