用asp连接Access数据库 制作简单登陆界面
【题外话:最近做Internet作业,在这写一个适合初学入门的ASP连接ACCESS数据库做登陆界面的简单的例子,以慰藉我一口气把以前做过的系统中的PHP代码全改成ASP代码来临时应付作业的心情......然后,这个小例子很简单的。】
【前提条件:你已经在Windows下配置搭建了IIS服务器】
该例实现的功能为:
连接Access数据库;
登陆页面选择管理员或账户登陆;
用户界面显示当前用户信息;
管理员界面显示数据库中所有用户资料信息 并 实现分页功能(每页最多五行);
实现注销功能。
【注:本例并没有做页面设计,可以自己加一些CSS、js之类的进行美化】
首先,创建Access数据库:(注意这里选择2002-2003版本的)
然后,创建表,添加字段:我这里简单举例,管理员表和用户表一样,你可以添加其他字段做的更丰富。
然后编写以下代码即可:
conn.asp(连接数据库)
1 <% 2 Session.CodePage=65001 3 Response.Charset="UTF-8" 4 '连接数据库开始 5 dim conn,rs,sql 6 'on error resume next 7 'dbpath为你自己设置的数据库路径 8 dbpath="D:/AccessDB/test.mdb" 9 set conn=Server.CreateObject("ADODB.Connection") 10 conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; data source="&dbpath 11 '创建记录对象 12 set rs=server.createobject("adodb.recordset") 13 %>
【注:dbpath="D:/AccessDB/test.mdb" 我是将数据库放在了D盘的AccessDB目录下,路径请根据你自己的情况来设置】
index.asp(登陆主页面)
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>登陆界面</title> 5 </head> 6 <form id="loginForm" action="login.asp" method="post"> 7 <ul style="border:1px solid #CCC;"> 8 <label>权 限:</label> 9 <select id="sel_type" name="sel_type"> 10 <option value="1">账户</option> 11 <option value="2">管理员</option> 12 </select> 13 <label class="p2">账 号:</label> 14 <input type="text" id="userName" name="userName" /> 15 16 <label class="p2">密 码:</label> 17 <input type="password" id="userPwd" name="userPwd"/> 18 19 <input type="submit" name="submit" value="登录"/> 20 <input type="reset" value="重置"> 21 </ul> 22 </form> 23 </html>
login.asp(登陆检测)
1 <%@Language="vbscript" Codepage="65001"%> 2 <!-- #include file="conn.asp" --> 3 <% 4 Session.CodePage=65001 5 Response.Charset="UTF-8" 6 username = Request.Form("userName") 7 password = Request.Form("userPwd") 8 flag = Request.Form("sel_type") 9 10 if username = "" or password = "" then 11 response.Write("用户名或密码不能为空!") 12 Response.Write("返回<a href='index.asp'>登录主页</a><br />") 13 response.End() 14 end if 15 16 if flag = "1" then 17 '账户 18 '打开数据库判断用户是否存在,user为表名,namee为字段名 19 set rsc=server.createobject("adodb.recordset") 20 sqlc="select * from [user] where username='"&request.Form("userName")&"' and password='"&request.Form("userPwd")&"'" 21 rsc.open sqlc,conn,1,1 22 23 if rsc.eof then 24 Response.Write("用户名或密码错误!") 25 Response.Write("返回<a href='index.asp'>登录主页</a><br />") 26 Response.End() 27 28 else 29 session("username")=rsc("username") 30 session("password")=rsc("password") 31 32 end if 33 rsc.close 34 set rsc=nothing 35 '登陆成功跳转到用户界面 36 response.Redirect("user.asp") 37 else 38 '管理员 39 set rsc=server.createobject("adodb.recordset") 40 sqlc="select * from administrator where username='"&request.Form("userName")&"' and password='"&request.Form("userPwd")&"'" 41 rsc.open sqlc,conn,1,1 42 43 if rsc.eof then 44 Response.Write("用户名或密码错误!") 45 Response.Write("返回<a href='index.asp'>登录主页</a><br />") 46 Response.End() 47 48 else 49 session("username")=rsc("username") 50 session("password")=rsc("password") 51 52 end if 53 rsc.close 54 set rsc=nothing 55 '登陆成功跳转到管理员界面 56 response.Redirect("admi.asp") 57 end if 58 %>
user.asp(用户界面)
1 <%@Language="vbscript" Codepage="65001"%> 2 <!-- #include file="conn.asp" --> 3 <% 4 if session("username")="" then 5 response.Redirect("index.asp") 6 else 7 username = session("username") 8 password = session("password") 9 end if 10 %> 11 <html> 12 <head> 13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 14 <title>用户界面</title> 15 </head> 16 <% 17 Response.Charset="UTF-8" 18 Response.Write("</br>") 19 Response.Write("账 号:" & username & "</br>") 20 Response.Write("密 码:" & password & "</br>") 21 %> 22 <a href="logout.asp">注销</a> 23 </html>
admi.asp(管理员界面)
1 <%@Language="vbscript" Codepage="65001"%> 2 <!-- #include file="conn.asp" --> 3 <% 4 if session("username")="" then 5 response.Redirect("index.asp") 6 else 7 username = session("username") 8 password = session("password") 9 end if 10 %> 11 <html> 12 <head> 13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 14 <title>管理员界面</title> 15 </head> 16 用户资料表: 17 <font style="font:bold 18px KaiTi;"> 18 <% 19 set rs=server.createobject("adodb.recordset") 20 sql="select * from [user]" 21 rs.open sql,conn,1,1 22 23 rs.pagesize = 5 24 curpage = 1 25 if Request.QueryString("curpage") <>"" then 26 curpage = Request.QueryString("curpage") 27 end if 28 rs.absolutepage = curpage 29 30 response.write("<table border='#CCF solid 1px'>") 31 response.write("<tr><th>用户名</th><th>密码</th></tr>") 32 for i = 1 to rs.pagesize 33 if rs.eof then 34 exit for 35 end if 36 response.write("<tr>") 37 response.write("<td>"&rs("username")&"</td>") 38 response.write("<td>"&rs("password")&"</td>") 39 response.write("</tr>") 40 rs.movenext 41 next 42 response.write("</table>") 43 44 for i = 1 to rs.pagecount 45 %> 46 <a href ='./admi.asp?curpage=<%=i%>'>第<%=i%>页</a> 47 <% 48 next 49 if curpage=1 then 50 response.write("首页 ") 51 else 52 response.write("<a href ='admi.asp?curpage=1'>首页</a> ") 53 end if 54 55 if curpage>1 then 56 %> 57 <a href ="admi_userInfo.asp?curpage=<%=curpage-1%>">上一页</a> 58 <% 59 end if 60 61 if rs.pagecount>=curpage+1 then 62 %> 63 <a href ="admi_userInfo.asp?curpage=<%=curpage+1%>">下一页</a> 64 <% 65 end if 66 67 if rs.pagecount < curpage+1 then 68 response.write("尾页") 69 else 70 %> 71 <a href ="admi_userInfo.asp?curpage=<%=rs.pagecount%>">尾页</a> 72 <%end if%> 73 </font> 74 75 <a href="logout.asp">注销</a> 76 </html>
logout.asp(注销界面)
1 <%@Language="vbscript" Codepage="65001"%> 2 <!-- #include file="conn.asp" --> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <title>注销界面</title> 7 </head> 8 </html> 9 <% 10 session("username")="" 11 session("password")="" 12 Response.Write(" 谢谢您的使用!返回 <a href='index.asp'>登录主页</a><br />") 13 %>
效果如下:(我是将以上代码文件都放在了C:\inetpub\wwwroot\test目录下,这里我设置的默认目录就是wwwroot)
(页面不美观、不要在意、自己设计哇......)