JQuery实现php图片验证码
分类:个人日志
来源:原创
时间:2011-10-26 12:50:00
使用验证码可以防止机器无限制地提交表单,本文通过使用PHP生成图片验证码,使用JQuery实现局部刷新,并给出了2总不同浏览器的比较方案,本文所附代码可以直接运行。
Html代码:
<span id="checkCode"> </span>
<a id="notClear" href="javascript:void(0)">看不清?</a>
checkCode.php:
<?php
session_start();
Header("Content-type: image/PNG");
$im = imagecreate(44,18);
$back = ImageColorAllocate($im, 245,245,245);
//背景
imagefill($im,0,0,$back);
srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font=ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
//加入干扰象素
for($i=0;$i<100;$i++){
$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION[¹VCODE¹] = $vcodes;
?>
Jquery:
方法一(ie无效,ff有效):
$("#checkCode").html("<img src=checkCode.php?r="+Math.random()+" />");
$("#notClear").click(function(){
$("#checkCode").html("<img src=checkCode.php?r="+Math.random()+" />");
});
方法二(ie,ff均有效):
$("#checkCode").empty().append("<img src=¹checkCode.php¹ />");
$("#notClear").click(function(){
$.post("checkCode.php?r="+Math.random(),function(data){
$("#checkCode").empty().append("<img src=¹checkCode.php?r="+Math.random()+"¹ width=¹44¹ height=¹18¹ />");
});
});
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)