编程开发 > ASP > 文章内容

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

2017-5-4编辑:ljnbset

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

一、基本目标

首先在Access数据库Database.mdb中存在着用户信息表test:


编写一个登陆系统,如果用户输入的用户名在表中没有,则提示“查无此人”,如果输入密码错误,则提示“密码错误”


如果用户输入的用户名与密码都正确,则跳转到登陆成功页


登陆成功页在普通情况下,不允许通过输入网址就能访问


二、基本思想

使用asp的session对象确保了用户名与密码的传递。

弹出部分使用了javascript的脚本语言,使用asp对用户信息表进行查询。

站点的基本结构如下:


三、制作过程
整个站点使用utf-8码保证不会乱码,所以每一页在页头必须有,如果使用DW的高版本则自动添加,低版本请把gb2312改成utf-8,记事本自便。 

1、登陆页面login.html仅仅是一个表单的静态页面。关键是用post方法传递信息,Action是到login.asp

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>logintitle>

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登陆验证页面是本系统最核心的页面

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>logintitle>

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,没有则将其弹出登陆页面 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<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退出处理页面 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<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文件

热点推荐

登录注册
触屏版电脑版网站地图