下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP+Ajax验证码验证用户登录_ 用AJAX 验证用户登录的一个好处是不刷新跳转页面,外加用到验证码就更平安了,摸索的写了下。一共用到三个文件: yz.php: 生成验证码的PHP 文件,将验证码将在SESSION 里,供登录时对比调用 index.php: 用户登录的HTML 文件 loginCheck.php: 验证用户登录的文件 下面一一解析: yz.php 文件 ?php session_start(); /生成验证码图 Header(Content-type: image/PNG); /长与宽 $im = imagecreate(44,18); / 设置背景色: $back =
2、ImageColorAllocate($im, 245,245,245); / 填充背景色: imagefill($im,0,0,$back); srand(double)microtime()*1000000); $vcodes; /生成4位数字 for($i=0;$i4;$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, $fo
3、nt); /加入干扰象素 for($i=0;$i100;$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 里,登录时调用对比 $_SESSIONVCODE=$vcodes; ? index.php: 留意,在这文件里不要取 $_SESSIONVCODE, 否则会取晚一步的
4、,刷新后才能显示上一个验证码 在 loginCheck.php 里验证就好了 !DOCTYPE html PUBLIC -/W3C/DTD HTML 4.01 Transitional/EN l4/loose.dtd html xmlns=l head meta http-equiv=Content-Type content=text/html;charset=gb2312 title管理后台| 请登录/title link rel=stylesheet type=text/css href=cssa.css style type=text/css !- #main font-family:宋
5、体; font-size:10pt; text-align:center; margin-top:510px; body background-attachment:fixed; background-position:center; background-image:url(./images/w2.jpg); background-repeat: no-repeat; #authCodebackground-Color:#F8F9FF; tabletext-align:center; /- /style script type=text/javascript src=./js/trim.js
6、/script script type=text/javascript !- function clearX() document.getElementById(authCode).value=; / 点击图片重新获得新的验证码: function getVCode() var vcode=document.getElementById(vcode); vcode.src =yz.php?nocache=+new Date().getTime(); /定义XMLHttpRequest对象 var xmlHttp; / 创建 XMLHttpRequest: function createXmlH
7、ttpRequest() var xmlHttp=null; try / Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch(e) / Internet Explorer try xmlHttp=new ActiveXObject(Msxml2.XMLHTTP); catch(e) xmlHttp=new ActiveXObject(Microsoft.XMLHTTP); return xmlHttp; / AJAX 检查登录: 有密码,要用POST 提交 function login() var authCode=t
8、rim(document.getElementById(authCode).value); var username=trim(document.getElementById(username).value); var password=trim(document.getElementById(password).value); if(username= | password= | authCode=) alert(请输入用户名和密码和验证码!); return false; else if(!xmlHttp) xmlHttp=createXmlHttpRequest(); var send_
9、string=username=+username+password=+password+authCode=+authCode+fresh=+Math.random(); xmlHttp.open(POST,loginCheck.php,true); xmlHttp.setRequestHeader(Content-Type,application/x-form-urlencoded); xmlHttp.send(send_string); xmlHttp.onreadystatechange=function() if(xmlHttp.readystate=4 xmlHttp.status=
10、200) var answer=xmlHttp.responseText; if(answer=ok) /跳转到管理中心页面 window.location.href=adminCenter.php; else alert(用户名密码或验证码不正确! 请重新输入!); document.getElementById(username).focus(); /- /script /head body onload=document.getElementById(username).focus(); div id=main table tr td用户名:input type=text id=user
11、name /td td密 码:input type=password id=password /td td验证码:input type=text id=authCode size=6 maxlength=4 value=验证码 onfocus=clearX()/td tdimg id=vcode src=yz.php alt=看不清?点击换一张 onclick=getVCode() /td tdinput id=loginButton type=submit value=登 录 onclick=login()/td /tr /table /div /body /html loginCheck.
12、php 验证用户登录的文件 ?php session_start(); include(./conn/connDB.php); / 取得POST过来的参数: $username=$_POSTusername; $password=md5($_POSTpassword); $authCode=$_POSTauthCode; $feedback=no; /对比是否=SESSION中的验证码,不能放在客户端做,否则取不正确的值 if($authCode=$_SESSIONVCODE) $SQL=select * from users where username=$username and password=$password; $res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院入住老人健康知识普及制度
- 2026年会计从业资格考试会计基础与实务操作预测模拟题集
- 2026年委托理财协议
- 2026年委托丹剂合同
- 金属加工行业废气处理方案
- 检验科废弃一次性用品的处理制度及流程
- 档案规范管理出现问题的问题原因剖析
- 2025年西安健康工程职业学院马克思主义基本原理概论期末考试模拟题含答案解析(必刷)
- 2024年湖北兵器工业职工大学马克思主义基本原理概论期末考试题附答案解析(夺冠)
- 2024年私立华联学院马克思主义基本原理概论期末考试题带答案解析(必刷)
- 航空安保审计培训课件
- 高层建筑灭火器配置专项施工方案
- 2023-2024学年广东深圳红岭中学高二(上)学段一数学试题含答案
- 2026元旦主题班会:马年猜猜乐马年成语教学课件
- 2025中国农业科学院植物保护研究所第二批招聘创新中心科研岗笔试笔试参考试题附答案解析
- 反洗钱审计师反洗钱审计技巧与方法
- 检验科安全生产培训课件
- 爆破施工安全管理方案
- 2026全国青少年模拟飞行考核理论知识题库40题含答案(综合卷)
- 2025线粒体医学行业发展现状与未来趋势白皮书
- 静压机工程桩吊装专项方案(2025版)
评论
0/150
提交评论