addbook.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
if request.cookies("power")="1" then
Response.Redirect("forbidden.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>addbook</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("addbook!")
%>
<form action="addbook.asp" method="post">
b_code<input type="text" name="b_code" size="20" placeholder="the book's code "/><br/>
b_name<input type="text" name="b_name" size="20" placeholder="the book's name "/><br/>
b_author<input type="text" name="b_author" size="20" placeholder="the book's author "/><br/>
b_publish<input type="text" name="b_publish" size="20" placeholder="the book's publishment"/><br/>
<input type="submit" value="addbook_submit" /><br/>
</form>
<%
dim new_b_code,new_b_name,new_b_author,new_b_publish,new_b_lend,new_b_reader,new_b_time,sql
new_b_code=Request.Form("b_code")
new_b_name=Request.Form("b_name")
new_b_author=Request.Form("b_author")
new_b_publish=Request.Form("b_publish")
new_b_lend="null"
new_b_reader="null"
new_b_time="null"
if new_b_code<>"" and new_b_name<>"" and new_b_author<>"" and new_b_publish<>"" then
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT COUNT(*) AS ct FROM books_table WHERE b_code='" & new_b_code & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
if rs("ct")=1 then
response.write("ERROR: This book_code has existed .")
else
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="INSERT INTO books_table(b_code,b_name,b_author,b_publish,b_lend,b_reader,b_time) VALUES "
sql=sql & "('" & new_b_code & "',"
sql=sql & "'" & new_b_name & "',"
sql=sql & "'" & new_b_author & "',"
sql=sql & "'" & new_b_publish & "',"
sql=sql & "'" & new_b_time & "',"
sql=sql & "'" & new_b_reader & "',"
sql=sql & "'" & new_b_time & "')"
Conn.execute sql
Conn.close
Set Conn = Nothing
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
</body>
</html>
borrowbook.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>borrowbook</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("borrowbook!")
%>
<form action="borrowbook.asp" method="post">
borrow_book<input type="text" name="borrow_book" size="20" placeholder="the book's code "/><br/>
<input type="submit" value="borrowbook_submit" /><br/>
</form>
<%
dim borrow_user,borrow_book,borrow_time,sql
borrow_user=request.cookies("user")
borrow_book=Request.Form("borrow_book")
borrow_time=now()
if borrow_book<>"" then
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT b_lend FROM books_table WHERE b_code='" & borrow_book & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
sql2="SELECT r_book FROM readers_table WHERE r_code='" & request.cookies("user") & "'"
set rs2 = server.createobject("adodb.recordset")
rs2.open sql2,conne
if rs("b_lend")="yes" or rs2("r_book")<>"null" then
response.write("ERROR: This book has been lent or you has kept another book .")
else
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="UPDATE books_table SET "
sql=sql & "b_lend='" & "yes" & "',"
sql=sql & "b_reader='" & borrow_user & "',"
sql=sql & "b_time='" & borrow_time & "'"
sql=sql & " where b_code='" & borrow_book & "'"
Conn.execute sql
sql="UPDATE readers_table SET "
sql=sql & "r_book='" & borrow_book & "',"
sql=sql & "r_time='" & borrow_time & "'"
sql=sql & " where r_code='" & borrow_user & "'"
Conn.execute sql
Conn.close
Set Conn = Nothing
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
</body>
</html>
changepsw.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>changepsw</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("changepsw!")
%>
<form action="changepsw.asp" method="post">
new_psw<input type="text" name="new_psw1" size="20" placeholder="new password"/><br/>
new_psw<input type="text" name="new_psw2" size="20" placeholder="repeat please"/><br/>
<input type="submit" value="changepsw_submit" /><br/>
</form>
Tips: You can goto the index page to check whether your password changed.<br/>
<%
dim old_psw,new_psw1,new_psw2,sql
new_psw1=Request.Form("new_psw1")
new_psw2=Request.Form("new_psw2")
if new_psw1<>"" and new_psw1=new_psw2 then
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="UPDATE readers_table SET "
sql=sql & "r_pwd='" & new_psw2 & "'"
sql=sql & " where r_code='" & request.cookies("user") & "'"
Conn.execute sql
Conn.close
Set Conn = Nothing
end if
%>
</body>
</html>
checkbook.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>checkbook</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("checkbook!")
%>
<form action="checkbook.asp" method="post">
checkbook<input type="text" name="checkbook" size="20" placeholder="the book's name"/><br/>
<input type="submit" value="checkbook_submit"/><br/>
</form>
<%
dim checkbook
checkbook=Request.Form("checkbook")
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
set rs=Server.CreateObject("ADODB.recordset")
SQL="SELECT * FROM books_table WHERE b_name LIKE '%" & checkbook & "%' or b_code LIKE '%" & checkbook & "%'"
rs.Open SQL, conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close%>
</table>
</body>
</html>
checkreader.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
if request.cookies("power")="1" then
Response.Redirect("forbidden.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>checkreader</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("checkreader!")
%>
<form action="checkreader.asp" method="post">
checkreader<input type="text" name="checkreader" size="20" placeholder="the user's code or name "/><br/>
<input type="submit" value="checkreader_submit" /><br/>
</form>
<%
dim checkreader
checkreader=Request.Form("checkreader")
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
set rs=Server.CreateObject("ADODB.recordset")
SQL="SELECT * FROM readers_table WHERE r_name LIKE '%" & checkreader & "%' or r_code LIKE '%" & checkreader & "%'"
rs.Open SQL, conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close%>
</table>
</body>
</html>
forbidden.asp
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>forbidden</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("forbidden!")
%>
<br/>
<%
response.write("You don't have the power, connect to the administrator please!")
%>
<%
Dim re
Set re = New RegExp
re.Pattern = "[0-9]{10}"
'response.write(re.Test("3116000339")="True")
'response.write(re.Test("2070276066")="True")
'response.write(re.Test("111111111")="True")
Dim re2
Set re2 = New RegExp
re2.Pattern = "(fe)?male"
'response.write(re2.Test("male")="True")
'response.write(re2.Test("female")="True")
'response.write(re2.Test("sex")="True")
%>
</body>
</html>
index.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>index</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("index!")
%>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
set rs=Server.CreateObject("ADODB.recordset")
rs.Open "SELECT * FROM readers_table where r_code = " & "'" & request.cookies("user") & "'", conn
%>
<table border="1" width="100%">
<tr>
<%for each x in rs.Fields
response.write("<th>" & x.name & "</th>")
next%>
</tr>
<%do until rs.EOF%>
<tr>
<%for each x in rs.Fields%>
<td><%Response.Write(x.value)%></td>
<%next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close%>
</table>
</body>
</html>
login.asp
<%
dim login_usr,login_pwd,success_or_loss
login_usr=Request.Form("login_usr")
login_pwd=Request.Form("login_pwd")
if login_usr="" then
response.cookies("user")=""
response.cookies("power")=""
else
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT COUNT(*) AS ct FROM readers_table WHERE r_code='" & login_usr & "' AND r_pwd='" & login_pwd & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
if rs("ct")<>1 then
success_or_loss="ERROR: The username can't match the password."
else
success_or_loss="success"
response.cookies("user")=login_usr
sql2="SELECT r_power FROM readers_table WHERE r_code='" & login_usr & "' AND r_pwd='" & login_pwd & "'"
set rs2 = server.createobject("adodb.recordset")
rs2.open sql2,conne
response.cookies("power")=rs2("r_power")
rs2.close
set rs2 = nothing
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>login</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("login!")
%>
<form action="login.asp" method="post">
login_usr<input type="text" name="login_usr" size="30" placeholder="your code"/><br/>
login_pwd<input type="text" name="login_pwd" size="30" placeholder="your password"/><br/>
<input type="submit" value="login_submit" /><br/>
</form>
<%
response.write(success_or_loss)
%>
<br/>
Tips: When the login_usr is empty, you can logout by clicking the "login_submit" button.
</body>
</html>
register.asp
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>register</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("register!")
%>
<form action="register.asp" method="post">
r_code<input type="text" name="r_code" size="20" placeholder="code can't be less than 10 characters"/><br/>
r_name<input type="text" name="r_name" size="20" placeholder="your username"/><br/>
r_sex<input type="text" name="r_sex" size="20" placeholder="your sex ( female or male )"/><br/>
r_pwd<input type="text" name="r_pwd" size="20" placeholder="your password"/><br/>
<input type="submit" value="register_submit"/><br/>
</form>
<%
dim new_r_code,new_r_name,new_r_sex,new_r_pwd,sql
new_r_code=Request.Form("r_code")
new_r_name=Request.Form("r_name")
new_r_sex=Request.Form("r_sex")
new_r_pwd=Request.Form("r_pwd")
new_r_power="1"
new_r_book="null"
new_r_time="null"
if new_r_code<>"" and new_r_name<>"" and new_r_sex<>"" and new_r_pwd<>"" then
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT COUNT(*) AS ct FROM readers_table WHERE r_code='" & new_r_code & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
Dim re
Set re = New RegExp
re.Pattern = "[0-9]{10}"
Dim re2
Set re2 = New RegExp
re2.Pattern = "(fe)?male"
if rs("ct")=0 and re.Test(new_r_code)="True" and re2.Test(new_r_sex)="True" then
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="INSERT INTO readers_table(r_code,r_name,r_sex,r_pwd,r_power,r_book,r_time) VALUES "
sql=sql & "('" & new_r_code & "',"
sql=sql & "'" & new_r_name & "',"
sql=sql & "'" & new_r_sex & "',"
sql=sql & "'" & new_r_pwd & "',"
sql=sql & "'" & new_r_power & "',"
sql=sql & "'" & new_r_book & "',"
sql=sql & "'" & new_r_time & "')"
Conn.execute sql
Conn.close
Set Conn = Nothing
response.write("success")
else
response.write("ERROR: The code has existed or the code is less than 10 characters or the sex is not male or female.")
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
</body>
</html>
returnbook.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
if request.cookies("power")="1" then
Response.Redirect("forbidden.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>returnbook</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("returnbook!")
%>
<form action="returnbook.asp" method="post">
return_user<input type="text" name="return_user" size="20" placeholder="the user's code "/><br/>
return_book<input type="text" name="return_book" size="20" placeholder="the book's code "/><br/>
<input type="submit" value="returnbook_submit" /><br/>
</form>
<%
dim return_user,return_book,return_time,sql
return_user=Request.Form("return_user")
return_book=Request.Form("return_book")
return_time=now()
if return_user<>"" and return_book<>"" then
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT b_lend FROM books_table WHERE b_code='" & return_book & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
sql2="SELECT r_book FROM readers_table WHERE r_code='" & return_user & "'"
set rs2 = server.createobject("adodb.recordset")
rs2.open sql2,conne
if rs("b_lend")="no" or rs2("r_book")<>return_book then
response.write("ERROR: This book hasn't been lent or you hasn't borrowed this book .")
else
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="UPDATE books_table SET "
sql=sql & "b_lend='" & "no" & "',"
sql=sql & "b_reader='" & "null" & "',"
sql=sql & "b_time='" & "null" & "'"
sql=sql & " where b_code='" & return_book & "'"
Conn.execute sql
sql="UPDATE readers_table SET "
sql=sql & "r_book='" & "null" & "',"
sql=sql & "r_time='" & "null" & "'"
sql=sql & " where r_code='" & return_user & "'"
Conn.execute sql
Conn.close
Set Conn = Nothing
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
</body>
</html>
subbook.asp
<%
if request.cookies("user")="" then
Response.Redirect("login.asp")
end if
if request.cookies("power")="1" then
Response.Redirect("forbidden.asp")
end if
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>subbook</title>
</head>
<body>
<a href="/register.asp">register</a>
<a href="/login.asp">login</a>
<a href="/changepsw.asp">changepsw</a>
<a href="/index.asp">index</a>
<a href="/checkbook.asp">checkbook</a>
<a href="/borrowbook.asp">borrowbook</a>
<a href="/returnbook.asp">returnbook</a>
<a href="/addbook.asp">addbook</a>
<a href="/subbook.asp">subbook</a>
<a href="/checkreader.asp">checkreader</a>
<hr/>
<%
response.write("subbook!")
%>
<form action="subbook.asp" method="post">
b_code<input type="text" name="b_code" size="20" placeholder="the book's code "/><br/>
<input type="submit" value="subbook_submit" /><br/>
</form>
<%
dim new_b_code,sql
new_b_code=Request.Form("b_code")
if new_b_code<>"" then
set conne=Server.CreateObject("ADODB.Connection")
conne.Provider="Microsoft.Jet.OLEDB.4.0"
conne.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="SELECT COUNT(*) AS ct FROM books_table WHERE b_code='" & new_b_code & "'"
set rs = server.createobject("adodb.recordset")
rs.open sql,conne
if rs("ct")=0 then
response.write("ERROR: This book_code hasn't existed .")
else
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/project/ProjectWeb/web_server/library_project/book_manager.mdb"
sql="delete from books_table where b_code=" & "'" & new_b_code & "'"
Conn.execute sql
Conn.close
Set Conn = Nothing
end if
rs.close
conne.close
set rs = nothing
set conne = nothing
end if
%>
</body>
</html>
readme.txt
数据库设计:2个
用户表(全部非空):学号(唯一)+姓名+性别+密码+权限(2是管理员1是普通用户)+正借阅书号+借出时间
图书表(全部非空):书号(唯一)+书名+作者+出版社+借出状态+借出学号+借出时间
页面设计:10个页面(全都在页顶导航栏有超链接,网页入口是登陆页面)
注册页面:
显示页面:表单内容(学号+姓名+性别+密码……提交按钮)
提交按钮点击后,查询用户表,学号已存在或学号小于10位或别不是male与female则报错,否则往用户表增加一个条目
登陆页面:
显示页面:表单内容(学号+密码……提交按钮)
提交按钮点击后,查用户表看学号密码,查找失败则报错,正确则生成两个cookie,一个是用户ID,一个是用户权限
密码页面:
获得cookie查得到学号(否则跳到登陆页)
显示页面:表单内容(新密码,新密码确认……提交按钮)
提交按钮点击后,判断两个新密码是否一致,符合则更新用户表中的条目
个人信息:
获得cookie查得到学号(否则跳到登陆页),查用户表得到用户信息
显示页面,text信息内容(学号+姓名+性别+密码+权限+正借阅书号+借出时间)
书名查询:
获得cookie查得到学号(否则跳到登陆页)
显示页面,表单内容(书名……提交按钮)
提交按钮点击后,按书名或书号查图书表,显示下面text信息内容((书号+书名+作者+出版社+借出状态+借出学号+借出时间)每行一个)
借书页面:
获得cookie查得到学号(否则跳到登陆页)
显示页面,表单内容(学号,书号……提交按钮)
提交按钮点击后,判断图书借出状态或用户是否已有借书,若书已借出或用户已有借书则显示失败,未借出则更新用户表与图书表
还书页面:
获得cookie查得到学号(否则跳到登陆页)
根据学号查用户表权限,非管理员时显示无权限(可以理解为必须要老师处办理还书)
表单内容(学号,书号……提交按钮)
提交按钮点击后,查书号的借出状态及用户借书状态,若书未被借出或用户未借书则报错,已借出则更新用户表与图书表(相关条目置null)
加书页面:
获得cookie查得到学号(否则跳到登陆页)
根据学号查用户表权限,非管理员时显示无权限
表单内容(书号+书名+作者+出版社……提交按钮)
提交按钮点击后,查图书表书号是否存在,已存在就报错,不存在就往图书表增加一个条目
减书页面:
获得cookie查得到学号(否则跳到登陆页)
根据学号查用户表权限,非管理员时显示无权限
表单内容(书号……提交按钮)
提交按钮点击后,按书号查图书表,查不到就报错,找到就减少图书表一个条目
学号查询:
获得cookie查得到学号(否则跳到登陆页)
根据学号查用户表权限,非管理员时显示无权限
表单内容(学号……提交按钮)
提交按钮点击后,按学号或用户名查用户表,查不到就弹窗报错,找到就显示下面text信息内容((书号+书名+作者+出版社+借出状态+借出学号+借出时间)每行一个)
文件部署:
11个asp文件(每页1个)
1个mdb数据库文件
1个txt说明文件(本文件)
关于web.config与.idea应该是我本地部署时产生的文件,可以不理会,但为保持工程完整性,我一起打包了
使用说明:
数据库地址我用了绝对地址,我的本地开发路径是D:\project\ProjectWeb\web_server\library_project,如果你不是这个路径需要手动修改源码
book_manager.mdb
ID | r_code | r_name | r_sex | r_pwd | r_power | r_book | r_time |
---|---|---|---|---|---|---|---|
1 | 13579 | test | male | abc | 1 | IT001 | 2020/12/28 15:35:20 |
2 | 24680 | admin | female | def | 2 | null | null |
ID | b_code | b_name | b_author | b_publish | b_lend | b_reader | b_time |
---|---|---|---|---|---|---|---|
1 | IT001 | C++ | YKQ | AAA | yes | 3116000339 | 2020/12/28 15:35:20 |
2 | IT002 | JAVA | YKQ | BBB | no | null | null |
3 | IT003 | PYTHON | YKQ | CCC | no | null | null |
11 | IT004 | JavaScript | YKQ | DDD | no | null | null |
12 | IT005 | Mysql | YKQ | EEE | no | null | null |
13 | PH001 | huawei | YKQ | FFF | no | null | null |
14 | PH002 | xiaomi | YKQ | GGG | no | null | null |
15 | PH003 | OPPO | YKQ | HHH | no | null | null |
16 | PH004 | VIVO | YKQ | III | no | null | null |
17 | PH005 | Apple | YKQ | JJJ | no | null | null |
23 | WK001 | baidu | YKQ | KKK | no | null | null |
24 | WK002 | tencent | YKQ | LLL | no | null | null |
25 | WK003 | alibaba | YKQ | MMM | no | null | null |
26 | WK004 | huaiwei | YKQ | NNN | no | null | null |
27 | WK005 | bytedance | YKQ | OOO | no | null | null |