首頁  >  文章  >  php教程  >  php中文汉字验证码程序

php中文汉字验证码程序

WBOY
WBOY原創
2016-05-25 16:40:581380瀏覽

本文章利用三个文件来简单的讲了一下关于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