php生成驗證碼與驗證碼驗證完整實例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</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 test <a href=" http://www.hzhuti.com/nokia/c6/"> http://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"]);
?>
本文由用戶 eg756 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!