ASP 连接Access数据库的登陆系统
2018-09-06 12:21
一、基本目标
首先在Access数据库Database.mdb中存在着用户信息表test:
编写一个登陆系统,如果用户输入的用户名在表中没有,则提示“查无此人”,如果输入密码错误,则提示“密码错误”
如果用户输入的用户名与密码都正确,则跳转到登陆成功页
登陆成功页在普通情况下,不允许通过输入网址就能访问
二、基本思想
使用asp的session对象确保了用户名与密码的传递。
弹出部分使用了javascript的脚本语言,使用asp对用户信息表进行查询。
站点的基本结构如下:
三、制作过程
整个站点使用utf-8码保证不会乱码,所以每一页在页头必须有<meta http-equiv=Content-Type content=text/html; charset=utf-8 />,如果使用DW的高版本则自动添加,低版本请把gb2312改成utf-8,记事本自便。
1、登陆页面login.html仅仅是一个表单的静态页面。关键是用post方法传递信息,Action是到login.asp
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN
2、login.asp登陆验证页面是本系统最核心的页面
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 向把login.html传过来的两个信息用变量保存起来 username=Request.Form(username) password=Request.Form(password) 数据库是上一级目录的Database.mdb %> <% db=../Database.mdb 连接数据库指定动作,这段必须独立地占用一个<%%>否则在某些情况下IE8会出错nection) conn.Open driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq= & Server.MapPath(db) %> <% Set rs = Server.CreateObject( ADODB.Recordset ) 看表中是否有此username sql = select * from test where username=+username+; rs.open sql,conn,1,3 如果什么都查不到,弹窗,弹回login.html if (rs.bof and rs.eof) then %> <script> alert(查无此人); window.location.href = login.html; </script> <% 否则拿查出来的密码,与用户输入的密码作对比,看是否一致 查出来的密码必须先用一个变量接住,在ASP中不能直接比较 else dbpwd=rs(password) 如果不一致,则弹窗,ASP没有!=,表示不等于请用<> if password<>dbpwd then %> <script> alert(密码错误); window.location.href = login.html; </script> <% else 如果用户名密码都输入正确,则有此用户,timeout是为了防止用户非正常退出的,如果5分钟没有任何操作则判定其已经退出,ok是正常登陆的标志 Session.Timeout=5 Session(username)=username Session(login)=ok %> <script> alert(登陆成功); window.location.href = success.asp; </script> <% end if end if 用完数据库记得关 rs.close set rs=nothing conn.close set conn=nothing %> </body> </html>
3、success.asp
没什么好说的,关键是看他是否有正常登陆标志,login的内容是否为ok,没有则将其弹出登陆页面
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 欢迎登陆</title> </head> <body> <% if Session.Contents(login)<>ok then %> <script> alert(请正常登陆!); window.location.href = login.html; </script> <% else Response.Write(欢迎登陆,+Session.Contents(username)) end if %> <a href=exit.asp>正常退出</a> </body> </html>
4、exit.asp退出处理页面
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 正在退出...</title> </head> <body> <% 所有session立即超时,并且移除所有session Session.Abandon Session.Contents.RemoveAll() %> <script> window.location.href = login.html; </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
下一篇:FSO文件对象介绍及常用函数
文章标题:ASP 连接Access数据库的登陆系统
文章链接:http://soscw.com/index.php/essay/10237.html