end if
end if
%>
‘Html页面显示部分,显示要修改的资料信息
……
3.2.14 保存修改的资料信息页
1. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
2. 页面所涉及的数据库表信息
此页使用了系统中的资料信息表main和教师信息表teacher。
3. 页面代码分析
‘引用创建数据库连接对象函数文件
<!--#include file="conn.asp"-->
‘引用判断是否是教师登陆文件
<!--#include file="isteacher.asp"-->
‘引用网站设置文件
<!--#include file="fenlei.asp"-->
<%’取得表单提交的信息
'on error resume next
course = server.htmlencode(trim(request("course")))
fileurl = server.htmlencode(trim(request("fileurl")))
content = server.htmlencode(trim(request("content")))
title = server.htmlencode(trim(request("title")))
typeid = trim(request("type"))
filesize = int(trim(request("filesize")))
id = request("id")
‘必须输入修改的资料的id号
if id = "" then
conn.close
set conn = nothing
response.write "<script>alert('请不要捣乱');top.window.location.href='teachermain.asp';</script>"
response.end
end if
‘必须输入资料名称
if course = "" then
conn.close
set conn = nothing
response.write "<script>alert('请输入资料名称');history.go(-1);</script>"
response.end
end if
if len(course) > 25 then
conn.close
set conn = nothing
response.write "<script>alert('资料名称不得超过25个汉字');history.go(-1);</script>"
response.end
end if
if fileurl = "" then
conn.close
set conn = nothing
response.write "<script>alert('请输入资料地址');history.go(-1);</script>"
response.end
end if
if len(fileurl) > 100 then
conn.close
set conn = nothing
response.write "<script>alert('资料地址不得超过100个英文字母');history.go(-1);</script>"
response.end
end if
if title = "" then
conn.close
set conn = nothing
response.write "<script>alert('请输入资料标题');history.go(-1);</script>"
response.end
end if
if len(title) > 25 then
conn.close
set conn = nothing
response.write "<script>alert('资料标题不得超过25个汉字');history.go(-1);</script>"
response.end
end if
if typeid = "" then
conn.close
set conn = nothing
response.write "<script>alert('请选择资料类型');history.go(-1);</script>"
response.end
end if
if filesize < 1 then filesize = 0
if content = "" then
conn.close
set conn = nothing
response.write "<script>alert('请输入简介');history.go(-1);</script>"
response.end
end if
‘取得要修改的资料信息
sql = "select * from main where mainid="&id
set rs = server.createobject("adodb.recordset")
rs.open sql,conn,1,3
‘如果要修改的资料信息不存在
if rs.bof and rs.eof then
rs.close
set rs = nothing
conn.close
set conn = nothing
response.write "<script>alert('请不要捣乱');top.window.location.href='teachermain.asp';</script>"
response.end
else
‘判断用户是否有修改资料的权限
if rs("idofteacher") <> int(session("teacherid")) and session("admin") <> "admin" then
rs.close
set rs = nothing
conn.close
set conn = nothing
response.write "<script>alert('这个资料不是你发布的,你想干什么?');top.window.location.href='teachermain.asp';</script>"
response.end
else
‘如果有修改权限就修改资料信息
rs("fileurl")=fileurl
rs("course")=course
rs("dateandtime")=now()
rs("content")=content
rs("title")=title
rs("idoftype")=cint(typeid)
rs("filesize")=filesize
‘修改成功
rs.update
‘关闭记录集对象
rs.close
set rs = nothing
‘关闭数据库连接对象
conn.close
set conn = nothing
end if
end if
response.write "<script>alert('修改成功');window.location.href='edit.asp?id="&id&"';</script>"
3.2.15 删除资料信息页
1. admindelcourseware.asp页面示例
图3-18为删除资料信息所看到的页面
图3-18 个人基本档案
2. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
3. 页面所涉及的数据库表信息
此页并没有涉及到数据库表的操作。
4. 页面代码分析
‘Html页面表单提交到admindelcoursewareok.asp删除资料信息
<form action="admindelcoursewareok.asp" method="post">
<table style="BORDER-COLLAPSE: collapse" borderColor=#808080 width="250" border="1" align="center" cellpadding=1>
<tr><td align="center" class="header">将有下列数据被删除</td></tr>
<tr><td align="left">
1.该资料在数据库中的记录<br>
2.与该资料相关的已上传资料
</td></tr>
</table>
<center><input type=hidden name="id" value="<%=id%>"><input type=hidden name="teacherid" value="<%=teacherid%>"><br>
<input type=submit name="submit" value="确定"> <input type=button name="cancle" value="取消" onclick="history.go(-1);"></center>
</form>
3.2.16 删除资料信息成功页
1. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
2. 页面所涉及的数据库表信息
此页使用了系统中的资料信息表main。
3. 页面代码分析
‘引用创建数据库连接对象函数文件
<!--#include file="conn.asp"-->
‘引用判断是否是管理员登陆文件
<!--#include file="isadmin.asp"-->
<%’取得教师信息的id号
id = trim(request("id"))
teacherid = trim(request("teacherid"))
‘必须输入教师id号和资料信息id号
if id = "" or teacherid = "" then
conn.close
set conn = nothing
response.write "<script>alert('请不要捣乱');top.window.location.href='adminmain.asp';</script>"
response.end
end if
‘取得资料信息
sql = "select * from main where mainid="&id
set rs = server.createobject("adodb.recordset")
‘打开记录集对象
rs.open sql,conn,1,1
‘判断信息是否存在,如果不存在则不能删除信息
if rs.bof and rs.eof then
rs.close
set rs = nothing
conn.close
set conn = nothing
response.write "<script>alert('请不要捣乱');top.window.location.href='adminmain.asp';</script>"
response.end
else
‘如果信息存在则先取到文件地址先删除
fileurl = rs("fileurl")
rs.close
set rs=nothing
'如果资料已上传至本地,则删除资料
if left(fileurl,6) = "files/" and mid(fileurl,7,len(teacherid)+2) = teacherid&"at" then
dim filepaths,objFSO
on error resume next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
filepaths=Server.MapPath(""&fileurl&"")
if objFSO.fileExists(filepaths) then
objFSO.DeleteFile(filepaths)
end if
set objFSO = nothing
end if
‘删除资料信息
conn.execute "delete from main where mainid="&id
‘关闭记录集对象
conn.close
set conn = nothing
response.write "<script>alert('删除成功');window.location.href='list.asp?teacherid="&teacherid&"';</script>"
end if
%>
3.3 教师管理
教师模块包含以下页面。
● adminteacher.asp
● adminsearchteacher.asp
● addteacher.asp
● addteacherok.asp
● editteacher.asp
● editteacherok.asp
● delteacher.asp
● delteacherok.asp
各页面间的关系如图3-19所示。
3-19 各页面间的关系
3.3.1 搜索教师页
1. adminteacher.asp页面示例
图3-20为搜索教师信息所看到的页面。
图3-20 搜索教师信息
2. 页面中需要用户填写的Html表单元素
此页共有4个表单元素,如表8所示。
表8 adminteacher.asp页的表单元素
名称 表单元素类型 含义 最大长度
Fenlei1 text 教师所属学院 15
Fenlei2 Text 教师所属系 15
Teacher Text 教师姓名 15
Id Text 教师ID 15
3. 页面所涉及的数据库表信息
此页并没有涉及到数据库表的操作。
4. 页面代码分析
‘Html页面表单提交到adminsearchteacher.asp搜索教师
<form action="adminsearchteacher.asp" method="post">
‘Html页面显示部分,填写教师搜索信息
……
</form>
3.3.2 教师搜索结果页
1. adminsearchteacher.asp页面示例
图3-21为教师信息列表所看到的页面。
图3-21 教师信息列表
2. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
3. 页面所涉及的数据库表信息
此页面用来显示教师信息列表,使用了系统中的教师信息表teacher。
3.3.3 添加教师信息页
1. addteacher.asp页面示例
图3-22为添加教师信息所看到的页面。
3-22 添加教师信息
2. 页面中需要用户填写的Html表单元素
此页用来添加教师信息,页面中共有13个表单元素,如表9所示。
表9 addteacher.asp页的表单元素
名称 表单元素类型 含义 最大长度
Fenlei1 text 教师所属学院 25
Fenlei2 text 教师所属系 25
Teacher text 教师姓名 25
Loginname text 登陆名 22
Password text 密码 25
Password1 text 确认密码 25
Ask text 密码找回问题 25
Answer text 密码找回答案 25
Email text 电子邮件 25
Homepage text 个人主页 25
Qq text QQ号码 25
Address text 通讯地址 25
intro textarea 个人简介 150
3. 页面所涉及的数据库表信息
此页并没有涉及到数据库表的操作。
4. 页面代码分析
‘Html页面表单提交到addteacherok.asp增加教师信息
<form action="addteacherok.asp" method="post" onSubmit=submitonce(this)>
‘Html页面显示部分,填写教师信息
……
</form>
3.3.4 添加教师成功页
1. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
2. 页面所涉及的数据库表信息
此页使用了系统中的教师信息表teacher。
3.3.5 修改教师信息页
1. editteacher.asp页面示例
图3-23为修改教师信息所看到的页面。
图3-23 修改教师信息
2. 页面中需要用户填写的Html表单元素
此页用来修改教师信息,页面中共有14个表单元素,如表10所示。
表10 editteacher.asp页的表单元素
名称 表单元素类型 含义 最大长度
Fenlei1 Text 教师所属学院 25
Fenlei2 Text 教师所属系 25
Teacher Text 教师姓名 25
Loginname Text 登陆名 22
Password Text 密码 25
Password1 Text 确认密码 25
Ask Text 密码找回问题 25
Answer Text 密码找回答案 25
Email Text 电子邮件 25
Homepage Text 个人主页 25
Qq Text QQ号码 25
Address Text 通讯地址 25
Photourl Text 照片地址 25
intro Textarea 个人简介 150
3. 页面所涉及的数据库表信息
此页使用了系统中的教师信息表teacher。
4. 页面代码分析
‘引用创建数据库连接对象函数文件
<!--#include file="conn.asp"-->
‘引用网站设置文件
<!--#include file="fenlei.asp"-->
‘引用判断是否是管理员登陆文件
<!--#include file="isadmin.asp"-->
<%’取得要删除教师信息的id号
id = request("id")
if id = "" then
conn.close
set conn = nothing
response.write "<script>alert('请不要捣乱!!!');top.window.location.href='adminmain.asp';</script>"
end if
‘取得对应教师id号的教师信息
sql = "select * from teacher where teacherid="&id
set rs = server.createobject("adodb.recordset")
‘打开记录集对象
rs.open sql,conn,1,1
%>
‘Html页面显示部分,显示资料的修改信息
……
<%’显示教师是否允许登陆
if rs("locked") = 1 then
response.write "<input type=radio name=locked value='0'>允许登陆"
response.write "<input type=radio name=locked value='1' checked>禁止登陆"
else
response.write "<input type=radio name=locked value='0' checked>允许登陆"
response.write "<input type=radio name=locked value='1'>禁止登陆"
end if
‘关闭记录集对象
rs.close
set rs = nothing
‘关闭数据库连接对象
conn.close
set conn = nothing
%>
3.3.6 修改教师信息成功页
1. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
2. 页面所涉及的数据库表信息
此页使用了系统中的教师信息表teacher。
3.3.7 删除教师信息页
1. delteacher.asp页面示例
图3-24为删除教师信息所看到的页面。
2. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
3. 页面所涉及的数据库表信息
此页并没有涉及到数据库表的操作。
4. 页面代码分析
‘Html页面表单提交到delteacherok.asp删除教师信息
<form action="delteacherok.asp" method="post">
‘Html页面显示部分
3.3.8 删除教师信息成功页
2. 页面中需要用户填写的Html表单元素
此页无需填写Html表单元素。
3. 页面所涉及的数据库表信息
此页使用了系统中的教师信息表teacher。
第四章 数据库结构设计
根据系统功能设计要求和模块划分,本站的数据库主要存储资料信息、教师信息、回复信息和栏目信息。
4.1 数据库需求分析
数据项和数据结构如下。
资料信息表: MainID(自动编号)、标题、简介、文件大小、文件类型、更新日期、相关课程、教师姓名、文件地址和下载次数等。
教师信息: teacherid(自动编号)、教师姓名、所属学院、所属系、E-mail地址、个人主页、QQ号码和通讯地址。
回复作业表:ID(自动编号)、学生姓名、作业标题、作业内容、作业的id号和回复日期。
栏目信息表:typeID(自动编号)、栏目名称。
4.2 数据库逻辑设计
1. 资料信息表main,如图4-1所示。
图4-1 资料信息表
2. 教师信息表teacher,如图4-2所示。
3. 回复作业表work,如图4-3所示。
图3-3 回复作业表
4. 栏目信息表type,如图4-4所示。
图4-4 栏目信息表
4.3 数据库连接说明
Conn.asp文件的数据库连接程序如下。
<% Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &server.mappath("edu.mdb")&";"
%>
第五章 测试和维护
5.1 网站维护
1、服务器及相关软硬件的维护,对可能出现的问题进行评估,制定响应时间。
2、数据库维护,有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。
3、内容的更新、调整等。
4、制定相关网站维护的规定,将网站维护制度化、规范化。
5.2 网站测试
网站发布前要进行细致周密的测试,以保证正常浏览和使用。主要测试内容:
1、服务器稳定性、安全性。
2、程序及数据库测试。
3、网页兼容性测试,如浏览器、显示器。
4、根据需要的其他测试。
参考文献
[1] 龙马工作室. ASP+Access 组建动态网站 实例精讲. 人民邮电出版社,2005
[2] 于繁华.Access基础教程. 中国水利水电出版社,2006
[3] 阮文江. java script程序设计基础教程. 人民邮电出版社,2006
致谢
经过两个月的忙碌和工作,本次毕业设计已经接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有辅导老师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。
在这里首先要感谢我的辅导老师叶剑春。他平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是叶剑春老师仍然细心地纠正图纸中的错误。除了敬佩叶剑春老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。
其次要感谢帮助我一起作毕业设计的众多网友,他们在本次设计中给了我大力的帮助,出谋划策各展所能的帮助我完成此次毕业设计,如果没有他们的大力帮助,此次设计的完成将变得非常困难。
然后还要感谢大学三年来所有的老师,为我们打下计算机专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。
最后感谢工商职业学院三年来对我的大力栽培。