ASP 连接Access数据库的登陆系统
程序员文章站
2022-06-22 13:10:46
一、基本目标
首先在access数据库database.mdb中存在着用户信息表test:
编写一个登陆系统,如果用户输入的用户名在表中没有,则提示“查无此人”...
一、基本目标
首先在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" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>login</title> </head> <body> <form method="post" action="login.asp"> username:<input type="text" name="username" /> password:<input type="password" name="password" /> <input type="submit" value="login" /> </form> </body> </html>
2、login.asp登陆验证页面是本系统最核心的页面
<%@language="vbscript" codepage="65001"%> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>login</title> </head> <body> <% '向把login.html传过来的两个信息用变量保存起来 username=request.form("username") password=request.form("password") '数据库是上一级目录的database.mdb %> <% db="../database.mdb" '连接数据库指定动作,这段必须独立地占用一个<%%>否则在某些情况下ie8会出错 set conn = server.createobject("adodb.connection") 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" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>欢迎登陆</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" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>正在退出...</title> </head> <body> <% '所有session立即超时,并且移除所有session session.abandon session.contents.removeall() %> <script> window.location.href = "login.html"; </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
asp下如何在Access数据库中立即得到所插入记录的自动编号?
-
WIN7/win2008 r2 X64系统IIS 7.5 ACCESS数据库连接故障解决方法
-
在ASP中连接MySQL数据库的方法,最好的通过ODBC方法
-
非常不错的ASP+Access数据库的终极安全大法18则
-
JDBC连接Access数据库的几种方式介绍
-
Java Web项目中连接Access数据库的配置方法
-
在ASP中连接MySQL数据库,最好的通过ODBC方法
-
.net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
-
ASP连接数据库的全能代码
-
动网论坛的asp 数据库连接代码