ASP在线教育系统(一)

时间:2024-05-01 22:56:49 计算机毕业论文 我要投稿
  • 相关推荐

ASP在线教育系统(一)

目   录
前言 3
第一章 编程环境基础知识 4
1.1 ASP技术简介 4
1.2 ACCESS2003 技术简介 4
第二章 需求分析 1
2.1   目标设计 1
2.2   系统功能分析与设计 2
2.3   性能需求 2
第三章 系统设计 4
3.1  资料显示模块 4
3.1.1 资料信息显示页 5
3.1.2 资料详细信息页 9
3.1.3 资料信息下载页 11
3.1.4 提交回复作业页 12
3.1.5 提交回复作业成功页 13
3.1.6 教师基本信息页 16
3.1.7 资料信息搜索页 20
3.1.8 资料信息搜索结果页 21
3.2  资料管理模块 22
3.2.1 管理员登陆页 24
3.2.2 验证管理员帐号页 24
3.2.3 管理员登陆成功页 26
3.2.4 增加资料栏目页 27
3.2.5 增加栏目成功页 28
3.2.6 修改栏目信息页 30
3.2.7 保存修改的栏目信息页 32
3.2.8 删除栏目信息页 34
3.2.9 删除栏目信息成功页 34
3.2.10 发布资料信息页 36
3.2.11 资料信息发布成功页 38
3.2.12 资料信息列表页 39
3.2.13 资料信息修改页 39
3.2.14 保存修改的资料信息页 42
3.2.15 删除资料信息页 46
3.2.16 删除资料信息成功页 47
3.3  教师管理 50
3.3.1 搜索教师页 51
3.3.2 教师搜索结果页 52
3.3.3 添加教师信息页 53
3.3.4 添加教师成功页 54
3.3.5 修改教师信息页 55
3.3.6 修改教师信息成功页 57
3.3.7 删除教师信息页 58
3.3.8 删除教师信息成功页 58
第四章 数据库结构设计 60
4.1 数据库需求分析 60
4.2 数据库逻辑设计 60
4.3 数据库连接说明 61
第五章 测试和维护 62
5.1 网站维护 62
5.2 网站测试 62
参考文献 63
致谢 64

ASP在线教育系统(一)

前言
 与传统教育相比,远程教育是一种全新的教育模式,它可以突破时间和空间的限制,帮助人们随时随地地学习,让更多的学习者共享优秀教育资源。远程教育既具有开放性、交互性、协作性和自主性等特点,又具有异步性、实时性、生动性、集成性和大容量等优势。因此,在远程教育系统的建设中,单纯地构建各种功能单一的系统并不能完全满足远程教育建设的需求,只有那些对数据和信息进行了有效组织、整合了多种业务、为用户提供个性化服务的系统才能充分发挥远程教育的作用。
 使用在线教育系统可以为用户提供在线教案学习、在线提交作业和查询教师等服务。
第一章 编程环境基础知识
1.1 ASP技术简介
 Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境.Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码.因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页.
 ASP程序的优点:
 1,ASP使用VBScript脚本语言直接源于VB语言,秉承了VB简单易学的特点,掌管起来非常容易.
 2,无须编译,容易编写,可在服务器端直接执行.
 3,利用ADO组件轻松存取数据库.
 4,与浏览器无关,客户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容.
 5,ASP能与任何ActiveX scripting语言相容.除了可使用VBScript或java script语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言.
 6,ASP技术的处理速度相当快,并且其安全性也很高,ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性.
 7,ASP的对象和组件:ASP有7个固有对象这7个固有对象分别是Request,Response,Server,Application,Session,ASPError和ObjectContext.
1.2 ACCESS2003 技术简介
 Access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索.那么什么叫数据库呢 数据库(Database)是由一些有意义和有关系的数据(data)所组合而成.一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据.所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位.在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS).数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用.
 Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然.另外,Access 允许创建自定义报表用于打印或输出数据库中的信息.Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库.如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能.
 
第二章 需求分析
 一个典型的在线教育系统至少应包含资料显示、资料管理和教师管理3种功
 
能。本站的系统结构如图2—1所示。
 
 2-1系统结构
 
2.1   目标设计
     在线教育系统所要实现的功能如下。
     ●  资料显示模块
         ■  显示资料
         ■  显示教师介绍
         ■  浏览查阅资料
         ■  回复提交资料
 ●  资料管理模块
         ■  资料栏目管理
         ■  发布资料
         ■  管理资料
     ●  教师管理模块
         ■  添加教师信息
         ■  编辑教师信息
         ■  删除教师信息
2.2   系统功能分析与设计
   在线教育系统共分为3个模块:资料显示模块、资料管理模块和教师管理模块,其功能模块划分如图所示。
 
 
2.3   性能需求
   开发环境
WindowsXP操作系统
80G的硬盘空间
AMD2500+处理器
17 # 纯平监视器
512内存
 适用环境
 1.Windows98/Me/2000/XP操作系统
 2.1G以上的硬盘空间
 3.Inter 赛扬1.0G以上处理器
 4.15 # 普通监视器以上
 5.32M以上内存
第三章 系统设计
3.1  资料显示模块
 资料显示模块包含以下子模块。
 ●  资料显示
 ●  资料搜索
 资料显示子模块包含以下页面。
 ●  index.asp
 ●  detail.asp
 ●  download.asp
 ●  teacherinfo.asp
 资料搜索子模块包含以下页面。
 ●  search.asp
 ●  list.asp
 各页面间的关系如图3-1所示。
      
 
 3-1各页面间的关系
  
   3.1.1 资料信息显示页
 1. index.asp页面示例
 图3-2为显示资料信息所看到的页面。
 
 
 
 图 3-2  显示资料信息
 2. 页面中需要用户填写的HTML表单元素。
 此页无需填写HTML表单元素。
 3. 页面所涉及的数据库表信息。
此页面用来显示资料信息,使用了系统中的资料信息表main和教师信息表teacher。
 4. 页面代码分析
   ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用网站设置文件 
 <!--#include file="fenlei.asp"-->
 <%’取得网站设置信息
 sql = "select * from config"
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,3
 schoolname = rs("schoolname")
 gonggao = rs("gonggao")
 todaytimes = rs("todaytimes")
 times = rs("times")
 ‘今日访问统计
 if rs("todaydate") <> date() then
 rs("todaydate") = date()
 rs.update
 todaytimes = 0
 end if
 ‘总访问统计
 if request.cookies("counted") <> "yes" then
 response.cookies("counted") = "yes"
 ‘设置cookies失效时间
 response.cookies("counted").expires = now() + 1/72
 ‘统计数加1
 times = times + 1
 todaytimes = todaytimes + 1
 rs("times") = times
 rs("todaytimes") = todaytimes
 rs.update
 end if
 ‘关闭记录集对象
 rs.close
 dim num1
 dim rndnum
 Randomize
 %>
 ‘Html页面显示部分
 ……
 <%’取最近更新的10条资料记录
 sql = "select * from main,teacher where main.idofteacher=teacher.teacherid order by main.times desc"
 rs.open sql,conn,1,1
 ‘显示最近更新的10条资料记录
 for i = 1 to 10
 if rs.eof then
 response.write "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>"
 else
 if len(rs("title")) > 10 then
 filetitle = left(rs("title"),10)&"..."
 else
 filetitle = rs("title")
 end if
 %>
 <tr><td align=left>&nbsp;<img src=images/arrow.gif>
 <a href=# title="<%=rs("title")%>" onclick=java script:showdetail(<%=rs("mainid")%>);><%=filetitle%></a>
 </td><td align=center><a href=teacherinfo.asp?id=<%=rs("teacherid")%> title="查看<%=rs("teacher")%>的个人专集"><%=rs("teacher")%></a></td>
 <td align=center><%=rs("times")%></td>
 <td align=left>&nbsp;&nbsp;<%=rs("fenlei2")%></td></tr>
 <%‘取下一条资料记录
 rs.movenext
 end if
 next
 ‘关闭记录集对象
 rs.close
 %>
3.1.2 资料详细信息页
  1. etail.asp页面示例
  图3-3为显示资料详细信息的页面。

图3-3  资料详细信息
  2. 页面中需要用户填写的Html表单元素。
  此页无需填写Html表单元素。
  3. 面所涉及的数据库表信息。
  此页使用了系统中的资料信息表main和教师信息表teacher。
  4. 页面代码分析
  ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用网站设置文件
 <!--#include file="fenlei.asp"-->
 <%’取得要显示资料信息的id号
 id = request("id")
 if id = "" then
  conn.close
  set conn = nothing
  response.write "<script>alert('没有找到您要查看的记录');window.close();</script>"
  response.end
 end if
 ‘打开记录集对象
 set rs = server.createobject("adodb.recordset")
 sql = "select * from main,teacher,type where main.idofteacher=teacher.teacherid and main.idoftype=type.typeid and main.mainid="&id
 ‘取得资料详细信息
 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('没有找到您要查看的记录');window.close();</script>"
  response.end
 else
 %>
 ‘Html页面显示部分,显示资料的详细信息
 ……
 <%’关闭记录集对象
 rs.close
 set rs = nothing
 ‘关闭数据库连接对象
 conn.close
 set conn = nothing
 end if
3.1.3 资料信息下载页
  1. download.asp页面示例
  图3-4 为阅读资料信息所看到的页面。

图3-4  阅读资料信息
  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页使用了系统中的资料信息表main。
  4. 页面代码分析
 <%’取得要显示资料信息的id号
 id = trim(request("id"))
 if id = "" then
  conn.close
  set conn = nothing
  response.write "<script>alert('没有找到您要阅读的资料');window.close();</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('没有找到您要阅读的资料');window.close();</script>"
  response.end
 ‘如果资料详细信息存在
 Else
 ‘该资料阅读数加1
  rs("times") = rs("times") + 1
  rs.update
 ‘页面下载或者打开资料信息
  response.redirect rs("fileurl")
 ‘关闭记录集对象
  rs.close
  set rs = nothing
 ‘关闭数据库连接对象
  conn.close
  set conn = nothing
 end if
 %>
3.1.4 提交回复作业页
  1. redetail.asp页面示例
  图3-5为提交回复作业信息所看到的页面。

图3-5  提交回复作业信息
  2. 页面中需要用户填写的Html表单元素
  此页中有3个表单元素,如表1所示。
  表1                 redetail.asp页的表单元素
 名称  表单元素类型  含义 最大长度
Name Text 学生姓名 20
Title Text 作业标题 20
Message Textarea 作业答案 100
  3. 页面所涉及的数据库表信息
  此页面用来显示提交回复作业信息,并没有涉及到数据库表的操作。
  4. 页面代码分析
 ‘Html页面表单提交到redetailok.asp提交作业答案
 <form action="redetailok.asp" method="post" >
 ‘Html页面显示部分
 ……
 </form>
3.1.5 提交回复作业成功页
  1. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  2. 页面所涉及的数据库表信息
  此页使用了系统中的回复作业信息记录表work。
  3. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 <%’学生姓名必须要输入
 name = trim(request("name"))
 if name = "" then
  response.write "<script>alert('请输入学生姓名');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 if len(name) > 5 then
  response.write "<script>alert('学生姓名不得超过5个汉字');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘作业标题必须要输入
 title = trim(request("title"))
 if title = "" then
  response.write "<script>alert('请输入作业标题');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘作业答案必须要输入
 message = trim(request("message"))
 if message = "" then
  response.write "<script>alert('请输入作业答案');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘作业的id号必须存在
 reid = trim(request("reid"))
 if reid = "" then
  response.write "<script>alert('非法操作');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 
 sql = "select * from work where name='"&name&"' and reid="&reid
 set rs = server.createobject("adodb.recordset")
 ‘查找作业表中是否存在学生姓名和回复作业的id号相同的记录存在
 rs.open sql,conn,1,3
 ‘如果存在则说明学生已经提交过作业不能再提交了
 if not (rs.bof and rs.eof) then
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
  response.write "<script>alert('你已经提交过作业了');history.go(-1);</script>"
  response.end
 else
 ‘如果不存在则添加作业答案记录
  rs.addnew
  rs("reid")=reid
  rs("name")=name
   rs("title")=title
    rs("message")=message
 ‘添加作业答案记录成功
  rs.update
 ‘关闭记录集对象
  rs.close
  set rs = nothing
 ‘关闭数据库连接对象
  conn.close
  set conn = nothing
 end if
 response.write "<script>alert('添加成功');window.location.href='index.asp';</script>"
 %>
3.1.6 教师基本信息页
  1. teacherinfo.asp页面示例
  图3-6为显示教师基本信息所看到的页面。

图3-6  显示教师基本信息
  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页面用来显示教师基本信息,此页使用了系统中的资料信息表main和教师信息表teacher。
  4. 页面代码分析
 <%’取得要显示教师信息的id号
 id = trim(request("id"))
 if id = "" then
  conn.close
  set conn = nothing
  response.write "<script>alert('请不要捣乱');top.window.location.href='index.asp';</script>"
  response.end
 end if
 ‘判断用户是否是管理员
 if session("admin") = "admin" then
  isadmin = true
 else
  isadmin = false
 end if
 ‘判断用户是否是教师
 if session("teacherid") <> "" then
  isteacher = true
 else
  isteacher = false
 end if
 ‘取得教师详细信息
 sql = "select * from teacher where teacherid="&id
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,1
 %>
 ‘Html页面显示部分,显示教师信息
 ……
 <%’关闭记录集对象
 rs.close
 end if
 ‘取得栏目信息
 sql = "select * from type"
 rs.open sql,conn,1,1
 set rs1 = server.createobject("adodb.recordset")
 ‘所有栏目信息
 do while not rs.eof
  sql1 = "select count(mainid) from main where idofteacher="&id&" and idoftype="&rs("typeid")
 ‘取得教师在该栏目发表的资料总数
  rs1.open sql1,conn,1,1
  counter = rs1(0)
  rs1.close
 ‘发表的资料总数如果是3的倍数
  if counter mod 3 = 0 then
 ‘定义显示资料记录的框架的高度
   iframeheight = 20*(int(counter/3)+1)
  else
   iframeheight = 20*(int(counter/3)+2)
  end if
 ‘框架的高度最大值为220
  if iframeheight > 220 then iframeheight = 220
 %>
 <tr><td align="center" class="header" colspan=3>已在本站发布的<%=rs("type")%>(共<%=counter%>件)</td></tr>
 <tr><td align="center" colspan=3>
 ‘显示资料记录的框架页
 <iframe name="titleof<%=rs("typeid")%>" frameborder=0 width=100% height=<%=iframeheight%> scrolling=no src=titlelist.asp?type=<%=rs("typeid")%>&id=<%=id%>></iframe>
 </td></tr>
 <%’取下一个栏目
  rs.movenext
 loop
 ‘关闭记录集对象
 set rs1 = nothing
 ‘关闭记录集对象
 rs.close
 set rs = nothing
 %>
 </table>
 <%’如果用户既不是管理员也不是教师
 if not isadmin and not isteacher then
 %>
 <!--#include file="foot.asp"-->
 <%
 end if
 %>
 </body>
 </html>
 <%’关闭数据库连接对象
 conn.close
 set conn = nothing
 %>
3.1.7 资料信息搜索页
  1. search.asp页面示例
  图3-7为搜索资料信息所看到的页面。

图3-7搜索资料信息
  2. 页面中需要用户填写的Html表单元素
  此页共有5个表单元素,如表2所示。
  表2                    search.asp页的表单元素
名称  表单元素类型 含义 最大长度
fenlei1 Text 所属学院 20
feilei2 Text 所属系 20
Teacher Text 教师姓名 10
Course Text 相关资料 20
Titli Text 资料标题 20
  3. 页面所涉及的数据库表信息
  此页面用来显示搜索资料信息,此页使用了系统中的资料栏目信息表type。
  4. 页面代码分析
 ‘Html页面表单提交到list.asp
 <form action="list.asp" method="post">
 ‘Html页面显示部分,显示要填写的搜索条件
 ……
 </form>
3.1.8 资料信息搜索结果页
  1. list.asp页面示例
  图3-8为显示资料信息列表所看到的页面。
  
3-8  显示资料信息列表
  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页面用来显示资料信息列表,使用了系统中的资料信息表main和教师信息表teacher。
3.2  资料管理模块
  资料管理模块包含以下子模块。
  ●  管理员登陆
  ●  资料栏目管理
  ●  资料信息管理
  管理员登陆子模块包含以下页面。
  ●  adminlogin.asp
  ●  asmincheck.asp
  ●  adminmain.asp
  资料栏目管理子模块包含以下页面。
  ●  addtype.asp
  ●  addtypeok.asp
  ●  edittype.asp
  ●  edittypeok.asp
  ●  deltype.asp
  ●  deltypeok.asp
  资料信息管理子模块包含以下页面。
  ●  put.asp
  ●  pubok.asp
  ●  list.asp
  ●  edit.asp
  ●  editok.asp
  ●  admindelcourseware.asp
  ●  admindelcoursewareok.asp
  各页面间的关系如图3-9所示。
 
3-9  各页面间的关系
3.2.1 管理员登陆页
  1. adminlogin.asp页面示例
  图3-10为管理员登陆所看到的页面。管理员密码为admin。

图3-10  管理员登陆
 2. 页面中需要用户填写的Html表单元素
 此页共有两个表单元素,如表3所示。
 表3                    adminlogin.asp页的表单元素
 名称  表单元素类型  含义 最大长度
Adminpwd Password 管理员密码 15
  3. 页面所涉及的数据库表信息
  此页并没有涉及到数据库表的操作。
  4. 页面代码分析
 ‘Html页面表单提交到adminlogin.asp
 <form action="admincheck.asp" method="post">
 ‘Html页面显示部分,显示要填写的登陆信息
 ……
 </form>
3.2.2 验证管理员帐号页
 1. 页面中需要用户填写的Html表单元素
 此页无需填写Html表单元素。
 2. 页面所涉及的数据库表信息
 此页面用来验证管理员信息,使用了系统中的管理员表config。
 3. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 <%’取得提交过来的信息
 adminpwd = request("adminpwd")
 ‘如果输入的密码为空
 if adminpwd = "" then
  conn.close
  set conn = nothing
  response.write "<script>alert('请输入密码');history.go(-1);</script>"
  response.end
 end if
 sql = "select * from config"
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,1
 ‘如果输入的密码与数据库中密码一致说明密码正确,登陆成功
 if adminpwd = rs("adminpwd") then
 ‘登陆成功后 session("admin")起用
 session("admin")=”admin”
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
 ‘登陆成功后就跳转到管理页面
  response.redirect "adminmain.asp"
 ‘如果输入的密码与数据库中密码不一致说明密码输入错误
 else
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
 response.write "<script>alert('密码错误');window.location.href='adminlogin.asp';</script>"
3.2.3 管理员登陆成功页
  1.adminmain.asp页面示例
  图3-11为管理员登陆成功后所看到的页面。

图3-11  管理员登陆成功
  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页使用了系统中的管理员表config。
  4. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是管理员登陆文件
 <!--#include file="isadmin.asp"-->
 ‘Html页面显示部分
 ……
 <frameset rows="*" cols="100,*,0" framespacing="0" frameborder="NO" border="0">
   <frame src="adminleft.asp" name="left" scrolling="NO" noresize>
   <frame src="adminindex.asp" name="main" noresize>
3.2.4 增加资料栏目页
  1. addtype.asp页面示例
  图3-12为增加栏目信息所看到的页面。

  2. 页面中需要用户填写的Html表单元素
  此页仅有1个表单元素,如表4所示。
  表4                   addtype.asp页的表单元素
名称  表单元素类型  含义 最大长度
Addtype  Text 栏目名称 10
  3. 页面所涉及的数据库表信息
  此页面用来增加栏目信息,使用了系统中的栏目信息记录表type。
  4. 页面代码分析
 <%’取得栏目信息
 sql = "select * from type"
 set rs = server.createobject("adodb.recordset")
 ‘打开记录集对象
 rs.open sql,conn,1,1
 ‘显示栏目信息
 do while not rs.eof
  response.write "<tr align='center'><td width=180>"&rs("type")&"</td>"
  response.write "<td><a href=edittype.asp?id="&rs("typeid")&">编辑</a>/<a href=deltype.asp?id="&rs("typeid")&">删除</a></td></tr>"
 ‘取下一条栏目信息
  rs.movenext
 loop
 ‘关闭记录集对象
 rs.close
 set rs = nothing
 ‘关闭数据库连接对象
 conn.close
 set conn = nothing
 %>
 ‘Html页面表单提交到addtype.doc
 <form action="addtypeok.asp" method="post">
 请输入要添加的栏目名称:<input type=text name="addtype" size=10><input type=submit name="submit" value="添加">
 <br>(栏目名称可以如“论文”、“实验素材”等)
 </form>
3.2.5 增加栏目成功页
  1. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  2. 页面所涉及的数据库表信息
  此页使用了系统中的栏目信息记录表type。
  3. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是管理员登陆文件
 <!--#include file="isadmin.asp"-->
 <%’取得输入的栏目名称
 addtype = trim(request("addtype"))
 if addtype = "" then
  response.write "<script>alert('请输入要添加的栏目名');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 if len(addtype) > 5 then
  response.write "<script>alert('栏目名不得超过5个汉字');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘查找栏目信息表是否有栏目名相同的记录
 sql = "select * from type where type='"&addtype&"'"
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,3
 ‘如果有则提示
 if not (rs.bof and rs.eof) then
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
  response.write "<script>alert('数据库中已经有一个名为"&addtype&"的栏目了');history.go(-1);</script>"
  response.end
 else
 ‘如果没有记录则可以添加了
  rs.addnew
  rs("type")=addtype
  rs.update
 ‘关闭记录集对象
  rs.close
  set rs = nothing
 ‘关闭数据库连接对象
  conn.close
  set conn = nothing
 end if
 response.write "<script>alert('添加成功');window.location.href='addtype.asp';</script>"
 %>
3.2.6 修改栏目信息页
  1. edittype.asp页面示例
  图3-13为修改栏目信息所看到的页面。

图3-13  修改栏目信息
  2. 页面中需要用户填写的Html表单元素
  此页仅有1个表单元素,如表5所示。
  表5                   edittype.asp页的表单元素
 名称  表单元素类型  含义 最大长度
Addtype  Text 栏目名称 10
  3. 页面所涉及的数据库表信息
  此页用来修改栏目信息页面,使用了系统中的栏目信息记录表type。
  4. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是管理员登陆文件
 <!--#include file="isadmin.asp"-->
 <%’取得要修改栏目信息的id号
 id = trim(request("id"))
 sql = "select * from type where typeid="&id
 set rs = server.createobject("adodb.recordset")
 ‘打开栏目信息表查找需要修改的栏目名称
 rs.open sql,conn,1,1
 filetype = rs("type")
 ‘关闭记录集对象
 rs.close
 set rs = nothing
 ‘关闭数据库连接对象
 conn.close
 set conn = nothing
 %>
 ‘Html页面显示部分
 ……
 ‘Html页面表单提交到edittypeok.asp
 <form action="edittypeok.asp" method="post">
 将栏目“<%=filetype%>”更名为:<input type=text name="addtype" size=10 value="<%=filetype%>">
 <input type=hidden name="id" value="<%=id%>">
 <input type=submit name="submit" value="修改">
 <br>(栏目名称可以如“论文”、“实验素材”等)
 </form>
3.2.7 保存修改的栏目信息页
  1. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  2. 页面所涉及的数据库表信息
  此页使用了系统中的栏目信息记录表type。
  3. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是管理员登陆文件
 <!--#include file="isadmin.asp"-->
 <%’取得要修改的栏目信息的id号
 id = trim(request("id"))
 addtype = trim(request("addtype"))
 ‘如果没有输入栏目名称则提示
 if addtype = "" then
  response.write "<script>alert('请输入栏目名');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘栏目名称的长度不能大于5
 if len(addtype) > 5 then
  response.write "<script>alert('栏目名不得超过5个汉字');history.go(-1);</script>"
  conn.close
  set conn = nothing
  response.end
 end if
 ‘打开栏目信息表查找需要修改的栏目名称
 sql = "select * from type where type='"&addtype&"' and typeid<>"&id
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,1
 ‘如果修改的名称在数据库中已经有记录则不能修改
 if not (rs.bof and rs.eof) then
  rs.close
  set rs = nothing
  conn.close
  set conn = nothing
  response.write "<script>alert('数据库中已经有一个名为"&addtype&"的栏目了');history.go(-1);</script>"
  response.end
 end if
 rs.close
 set rs = nothing
 ‘如果修改的名称在数据库中没有记录了则可以修改
 conn.execute "update type set type='"&addtype&"' where typeid="&id
 conn.close
 set conn = nothing
 response.write "<script>alert('修改成功');window.location.href='addtype.asp';</script>"
 %>
3.2.8 删除栏目信息页
  1. deltype.asp页面示例
  图3-14为删除栏目信息所看到的页面。

图3-14  删除栏目信息
  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页使用了系统中的栏目信息记录表type。
  4. 页面代码分析
 ‘Html页面表单提交到deltypeok.asp
 <form action="deltypeok.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%>"><br>
 <input type=submit name="submit" value="确定">&nbsp;&nbsp;<input type=button name="cancle" value="取消" onclick="history.go(-1);"></center>
 </form>
3.2.9 删除栏目信息成功页
  1. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  2. 页面所涉及的数据库表信息
  此页使用了系统中的栏目信息记录表type。
  3. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是管理员登陆文件
 <!--#include file="isadmin.asp"-->
 <%’取得要删除栏目信息的id号
 id = trim(request("id"))
 ‘如果要删除栏目信息的id号为空说明非法操作
 if id = "" then
  conn.close
  set conn = nothing
  response.write "<script>alert('请不要捣乱');top.window.location.href='adminmain.asp';</script>"
  response.end
 end if
 ‘查找对应id号的栏目信息
 sql = "select * from type where typeid="&id
 set rs = server.createobject("adodb.recordset")
 ‘打开记录集对象
 rs.open sql,conn,1,1
 ‘对应id号的栏目信息如果不存在则说明该栏目不存在
 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
 end if
 rs.close
 set rs = nothing
 ‘对应id号的栏目信息如果存在则删除栏目信息
 conn.execute "delete from type where typeid="&id
 ‘删除资料信息中对应栏目id号的资料信息
 conn.execute "delete from main where idoftype="&id
 ‘关闭数据库连接对象
 conn.close
 set conn = nothing
 response.write "<script>alert('删除成功');window.location.href='addtype.asp';</script>"
 %>
3.2.10 发布资料信息页
  1.pub.asp页面示例
  图3-15为发布资料信息所看到的页面。

  2. 页面中需要用户填写的Html表单元素
  此页共有6个表单元素,如表6所示。
  表6                   pub.asp页的表单元素
 名称  表单元素类型  含义 最大长度
Teacher Text 教师姓名 15
Course Text 课程名称 15
Title Text 资料标题 52
Fileurl Text 资料地址 52
Filesize Text 资料大小 15
content textarea 资料简介 300
  3. 页面所涉及的数据库表信息
  此页用来发布资料信息页面,使用了系统中的栏目信息记录表type。
  4. 页面代码分析
 ‘Html页面表单提交到pubok.asp
 <form action="pubok.asp" method="post" onSubmit=submitonce(this)>
 ‘Html页面显示部分,填写资料信息
 ……
 <%’取得栏目信息
 sql = "select * from type"
 set rs = server.createobject("adodb.recordset")
 rs.open sql,conn,1,1
 %>
 &nbsp;<select name="type">
 <option value="" selected>请选择</option>
 <%’显示栏目信息
 do while not rs.eof
 %>
  <option value="<%=rs("typeid")%>"><%=rs("type")%></option>
 <%’取下一条栏目信息
  rs.movenext
 loop
 response.write "</select>"
 ‘关闭记录集对象
 rs.close
 set rs = nothing
 %>
3.2.11 资料信息发布成功页
  1. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  2. 页面所涉及的数据库表信息
  此页使用了系统中的资料信息记录表main。
3.2.12 资料信息列表页
  图3-16为资料信息列表页面。

  2. 页面中需要用户填写的Html表单元素
  此页无需填写Html表单元素。
  3. 页面所涉及的数据库表信息
  此页面用来显示资料信息列表,使用了系统中的资料信息表main和教师信息表teacher。
  4. 页面代码分析
  代码与3.2.8节的删除栏目信息页基本相同。
3.2.13 资料信息修改页
  1. edit.asp页面示例
  图3-17为修改资料信息所看到的页面。

图3-17  修改资料信息
  2. 页面中需要用户填写的Html表单元素
  此页共有5个表单元素,如表7所示。
  表7                   edit.asp页的表单元素
 名称  表单元素类型  含义 最大长度
Course  Text 课题名称 15
Title  Text 资料标题 52
Fileurl  Text 资料地址 52
Filesize  Text 资料大小 15
Content Textarea 资料简介 300
  3. 页面所涉及的数据库表信息
  此页用来修改资料信息,使用了系统中的资料信息记录表main。
  4. 页面代码分析
 ‘引用创建数据库连接对象函数文件
 <!--#include file="conn.asp"-->
 ‘引用判断是否是教师登陆文件
 <!--#include file="isteacher.asp"-->
 ‘引用网站设置文件
 <!--#include file="fenlei.asp"-->
 <%’取得要修改资料信息的id号
 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
 ‘取得要显示的资料信息
 sql = "select * from main,teacher where main.idofteacher=teacher.teacherid and main.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='teachermain.asp';</script>"
  response.end
 else
 ‘如果存在判断用户是否有修改资料的权限
  if rs("teacherid") <> 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
  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="确定">&nbsp;&nbsp;<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
致谢
 经过两个月的忙碌和工作,本次毕业设计已经接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有辅导老师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。
 在这里首先要感谢我的辅导老师叶剑春。他平日里工作繁多,但在我做毕业设计的每个阶段,从外出实习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。我的设计较为复杂烦琐,但是叶剑春老师仍然细心地纠正图纸中的错误。除了敬佩叶剑春老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。
 其次要感谢帮助我一起作毕业设计的众多网友,他们在本次设计中给了我大力的帮助,出谋划策各展所能的帮助我完成此次毕业设计,如果没有他们的大力帮助,此次设计的完成将变得非常困难。
 然后还要感谢大学三年来所有的老师,为我们打下计算机专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。
 最后感谢工商职业学院三年来对我的大力栽培。

【ASP在线教育系统(一)】相关文章:

在线教育系统ASP+SQL03-08

在线考试系统的设计ASP+ACCESS03-08

基于ASP的在线商品销售系统的设计与实现ASP+SQL03-08

基于ASP.NET在线考试系统设计ASP.NET+SQL03-08

在线英语考试系统ASP+SQL03-08

在线就业招聘系统的设计与实现ASP+Access03-08

在线考试及自动评分系统ASP+SQL03-08

基于.NET技术的在线考试系统ASP.NET+SQL03-08

ASP交友系统设计(一)03-07