首页 > php教程 > php手册 > 正文

php中文汉字验证码程序

WBOY
发布: 2016-05-25 16:40:58
原创
1347 人浏览过

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


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!