首页 >php教程 >php手册 >php中文汉字验证码程序

php中文汉字验证码程序

WBOY
WBOY原创
2016-05-25 16:40:581407浏览

本文章利用三个文件来简单的讲了一下关于php中怎么去应用中文验证码,中文因为是汉字可能出现乱码所以我们就定义了一个文件来专门处理,有需要的朋友可以参考下.

php中文汉字验证码程序代码如下:

<?php     
/*     
* 文件:chinesechar.php     
* 作用:汉字数据储存     
*/     
$ChineseChar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地",   "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日",   "月 ","星");     
?>    
<?php     
/*     
* 文件:check.php     
* 作用:验证    
*/     
session_start();     
$errorMSG = &#39;&#39;;     
//验证用户输入是否和验证码一致     
if(!is_null($_POST[&#39;check&#39;]))     
{     
        if (strcasecmp($_SESSION[&#39;code&#39;],$_POST[&#39;code&#39;])==0)     
            $errorMSG = "<p style="font-size:12px;color:#009900">验证成功!</p>";     
        else     
            $errorMSG = "<p style="font-size:12px;color:#FF0000">验证失败!</p>";     
}     
?>     
<html>     
<head>     
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">     
</head>     
<body>     
<?php     
if($errorMSG){     
echo $errorMSG;     
}     
?>     
<form action=<?php echo $_SERVER[&#39;PHP_SELF&#39;]?> method=post>     
请输入验证码:<input type="text" name="code" style="width:     
80px"><img  src="code.php" alt="php中文汉字验证码程序 " >     
<br>     
<input type="submit" name="check" value="提交验证码">     
</form>     
</body>     
</html>    
<?php     
/*     
* 文件:code.php     
* 作用:验证码生成     
* 特注:由 没牙的草 指导 版权所有转载注明出处!有付出才会有收获!   
*/     
include_once("chinesechar.php");     
session_start();     
// 设置 content-type     
header("Content-type: image/png");     
// 创建图片     
$im = imagecreatetruecolor(120, 30);    
// 创建颜色     
$fontcolor = imagecolorallocate($im, 255, 255, 255);     
$bg = imagecolorallocate($im, 0, 0, 0);    
// 设置文字     
for($i=0;$i<4;$i++) $text .= $ChineseChar[(array_rand($ChineseChar))];    
$_SESSION[&#39;code&#39;] = $text;     
// 设置字体     
$font = &#39;simkai.ttf&#39;;    
//开源代码phpfensi.com 
// 添加文字     
imagettftext($im, 18, 0, 11, 21, $fontcolor, $font, iconv("GB2312","UTF-8",$text));    
// 输出图片     
imagepng($im);     
imagedestroy($im);     
?>

如果想把上面的程序改成英文数字,只要在chinesechar.php 里面的数组中文改成数字或字母就KO了.


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn