祝大家新年快乐!新年新气象!

经过自己修改的验证码类

上一篇 / 下一篇  2007-04-27 01:04:44 / 个人分类:php

<?phpPHPChina 开源社区门户&~L9Bhpf
session_start();PHPChina 开源社区门户*D%IH ir H
session_register("login_check_number");
2e$n.[s}Y)p0//昨晚看到了chianren上的验证码效果,就考虑了一下,用PHP的GD库完成了类似功能PHPChina 开源社区门户xP0J T p}4{
//先成生背景,再把生成的验证码放上去PHPChina 开源社区门户 J rb \eq9j`h
$img_height=70;    //先定义图片的长、宽
1F.kWOo8k+K0$img_width=25;PHPChina 开源社区门户?(el&q U5?
    //生产验证码字符PHPChina 开源社区门户&tJO.c \ ['A
$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
K D zK `'Rg0$list=explode(",",$ychar);PHPChina 开源社区门户`b maS|w
for($i=0;$i<4;$i++){PHPChina 开源社区门户{2X B&m&Z%G#{;yo
    $randnum=rand(0,35);
g!K*? R clWi O0    $authnum.=$list[$randnum];
]!fh5sol z0}PHPChina 开源社区门户L"i;e fE4A @
//把验证码字符保存到session
5N2YId+L7pZ+_Z0$_SESSION["login_check_number"] = $authnum;PHPChina 开源社区门户&X-\g Wp&n
PHPChina 开源社区门户K,JNi^0P*I
PHPChina 开源社区门户 H E[~d-J~s.~
$aimg = imagecreate($img_height,$img_width);    //生成图片
5p&MZ6hi? Ay0imagecolorallocate($aimg, 255,255,255);            //图片底色,ImageColorAllocate第1次定义颜色PHP就认为是底色了
f'V&V h*ln0$black = imagecolorallocate($aimg, 0,0,0);        //定义需要的黑色
-z(y/O3v n:B2o&K5esu0
.Q.M(XSH8{0PHPChina 开源社区门户"YXD+H4Ehu
for ($i=1; $i<=100; $i++) {//画100个睡觉颜色的 *PHPChina 开源社区门户(t~H0az![
    imagestring($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"@",imagecolorallocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
-? s4n;[UD#@I;d2Jz7C"~0}
jL;K r6`9n v0
,jf y S8k!W7mY3G0//为了区别于背景,这里的颜色不超过200,上面的不小于200PHPChina 开源社区门户zc`1Yj_!a(\0R%@0L
for ($i=0;$i<strlen($authnum);$i++){
4|.T$F:o5T[1o%]a0    imagestring($aimg, mt_rand(3,5),$i*$img_height/4+mt_rand(2,7),mt_rand(1,$img_width/2-2), $authnum[$i],imagecolorallocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
+\#BgP}I*cO.Q0}PHPChina 开源社区门户0w t,No)xXjHF
imagerectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//画一个矩形PHPChina 开源社区门户z8``-R9w%} vO
Header("Content-type: image/PNG");
Ej G^eoO f0ImagePNG($aimg);                    //生成png格式
Ir p6@y0ImageDestroy($aimg);
2a6fL:fkI0PHPChina 开源社区门户e^ H9V:y(\~M5\
?> 

TAG: php

引用 删除 Guest   /   2008-01-04 16:51:56
晕,这文章还加乱码干扰,不至于吧
引用 删除 check   /   2007-06-29 17:29:49
-5
我怎么没有发现类啊
引用 删除 纯色理想   /   2007-06-08 09:11:45
在用到验证码的页面中怎么调入验证码图片呢?
引用 删除 林木森森   /   2007-05-02 15:47:19
我echo $_SESSION['login_check_number'];也没有获得到值。到底怎么用呢?
Lni_wang的PHP技术Blog 引用 删除 wangyl   /   2007-05-02 14:53:48
$authnum 是生成当前验证码的字符串
$_SESSION['login_check_number']
才是保存 当前验证码的字符串
你把用户提交的 跟这个session值比较进行了!
林木森森的个人空间 引用 删除 林木森森   /   2007-04-28 08:23:01
为什么我echo $authnum;这个值是空的。怎么验证呢?
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 10306
  • 日志数: 51
  • 图片数: 3
  • 书签数: 3
  • 建立时间: 2007-02-07
  • 更新时间: 2008-02-27

RSS订阅

Open Toolbar