ASP 連接Access數(shù)據(jù)庫的登陸系統(tǒng)
一、基本目標(biāo)
首先在Access數(shù)據(jù)庫Database.mdb中存在著用戶信息表test:
編寫一個(gè)登陸系統(tǒng),如果用戶輸入的用戶名在表中沒有,則提示“查無此人”,如果輸入密碼錯(cuò)誤,則提示“密碼錯(cuò)誤”
如果用戶輸入的用戶名與密碼都正確,則跳轉(zhuǎn)到登陸成功頁
登陸成功頁在普通情況下,不允許通過輸入網(wǎng)址就能訪問
二、基本思想
使用asp的session對(duì)象確保了用戶名與密碼的傳遞。
彈出部分使用了javascript的腳本語言,使用asp對(duì)用戶信息表進(jìn)行查詢。
站點(diǎn)的基本結(jié)構(gòu)如下:
三、制作過程
整個(gè)站點(diǎn)使用utf-8碼保證不會(huì)亂碼,所以每一頁在頁頭必須有<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,如果使用DW的高版本則自動(dòng)添加,低版本請把gb2312改成utf-8,記事本自便。
1、登陸頁面login.html僅僅是一個(gè)表單的靜態(tài)頁面。關(guān)鍵是用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登陸驗(yàn)證頁面是本系統(tǒng)最核心的頁面
<%@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傳過來的兩個(gè)信息用變量保存起來username=Request.Form("username")password=Request.Form("password")"數(shù)據(jù)庫是上一級(jí)目錄的Database.mdb%><%db="../Database.mdb""連接數(shù)據(jù)庫指定動(dòng)作,這段必須獨(dú)立地占用一個(gè)<%%>否則在某些情況下IE8會(huì)出錯(cuò)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" )"看表中是否有此usernamesql = "select * from test where username=""+username+"";"rs.open sql,conn,1,3"如果什么都查不到,彈窗,彈回login.htmlif (rs.bof and rs.eof) then%><script>alert("查無此人");window.location.href = "login.html";</script><%"否則拿查出來的密碼,與用戶輸入的密碼作對(duì)比,看是否一致"查出來的密碼必須先用一個(gè)變量接住,在ASP中不能直接比較elsedbpwd=rs("password")"如果不一致,則彈窗,ASP沒有!=,表示不等于請用<>if password<>dbpwd then%><script>alert("密碼錯(cuò)誤");window.location.href = "login.html";</script><%else"如果用戶名密碼都輸入正確,則有此用戶,timeout是為了防止用戶非正常退出的,如果5分鐘沒有任何操作則判定其已經(jīng)退出,ok是正常登陸的標(biāo)志Session.Timeout=5Session("username")=usernameSession("login")="ok"%><script>alert("登陸成功");window.location.href = "success.asp";</script><%end ifend if"用完數(shù)據(jù)庫記得關(guān)rs.closeset rs=nothingconn.closeset conn=nothing%></body></html>
3、success.asp
沒什么好說的,關(guān)鍵是看他是否有正常登陸標(biāo)志,login的內(nèi)容是否為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><%elseResponse.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立即超時(shí),并且移除所有sessionSession.AbandonSession.Contents.RemoveAll()%><script>window.location.href = "login.html";</script></body></html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
相關(guān)文章:
1. ASP.NET MVC實(shí)現(xiàn)登錄后跳轉(zhuǎn)到原界面2. 虛機(jī)服務(wù)中常見Asp.Net低級(jí)錯(cuò)誤一覽3. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息4. ASP.NET MVC使用typeahead.js實(shí)現(xiàn)輸入智能提示功能5. 關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問題(避免踩坑)6. ASP基礎(chǔ)入門第四篇(腳本變量、函數(shù)、過程和條件語句)7. 動(dòng)態(tài)網(wǎng)站web開發(fā) PHP、ASP還是ASP.NET8. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條9. 使用EF Code First搭建簡易ASP.NET MVC網(wǎng)站并允許數(shù)據(jù)庫遷移10. 用PHP和ACCESS寫聊天室(七)
