主页 > 知识库 > ASP 连接Access数据库的登陆系统

ASP 连接Access数据库的登陆系统

热门标签:团购网站 Mysql连接数设置 服务器配置 Linux服务器 科大讯飞语音识别系统 电子围栏 银行业务 阿里云

一、基本目标

首先在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实现在线压缩与解压缩功能代码
  • 用ASP.Net实现文件的在线压缩和解压缩
  • asp连接access、sql数据库代码及数据库操作代码
  • ASP连接Access数据库的几种方法
  • access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX
  • 深入浅析ASP在线压缩access数据库的方法

标签:衡水 江苏 大理 蚌埠 衢州 枣庄 萍乡 广元

巨人网络通讯声明:本文标题《ASP 连接Access数据库的登陆系统》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266