资源说明:荆楚理工学院
课程设计成果
学院: 计算机工程学院 班级: 动漫(一)班
学生姓名: 胡斌 学号: 2010304010132
设计地点(单位): A5-101
设计题目: 蓝宝石留言板
完成日期: 2012 年 12 月 05 日
指导教师评语: ______________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
________________________________________________________________________
成绩(五级记分制): ___________________
教师签名: ___________________
一.设计理念。
随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营销等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,留言提供了一个全新的人类沟通新方式。
二.设计思路。
开发一个留言系统,首先需要确定留言的功能是什么,也就是用户想要的留言所能做的工作。用户使用留言是按照一定的流程来进行的:用户进入留言板页面后,可以就某个话题展开讨论,通过留言功能发布新的话题,通过回帖的功能回复已有的话题;管理员要管理留言,系统需要具有的功能有创建、删除留言。这样的流程就决定了留言所应具有的功能。这样就能开始
观察留言所有功能需求,按不同实体分类,可以分为三类实体对象:留言、回复留言、管理留言和回复留言。这三类对象,可以设计为两个数据实体,如果使用数据库存储它们,即可以设计两个基本数据表的集合来存储这些实体的基本信息;它们可以设计为两个基本表,映射两个实体的基本数据。这些基本对象只是留言系统中最为基本的要素,对于一个完整的留言还需要其它相关的表来记录相关的信息,即实体之间的相互关系信息。如是就可以确定系统中管理员所需要的特殊权限了。查看留言,及所有用户的留言和留言回复;留言管理,可以删除用户的违规留言。
三.模块设计。
留言功能分为用户使用的基本功能和管理员管理系统的功能两类,因此模块设计也分为两大类。主要有管理登陆模块,用于管理员的登陆;浏览功能模块用于用户查看留言;发帖模块,用于用户的发帖;留言管理功能模块,可以用来删除和修改留言板上的相关设置。
四.数据库结构的设计。
该系统的实体有:管理员信息实体,留言实体。管理员与管理信息的联系。用户与留言,留言查看的联系。
考虑到将来的体统功能,设计如下的所示的数据项和数据结构:
留言信息:包括数据项有父留言的编号、子留言的编号、用户、内容,发表时间,发表IP地址等。
基于上面的内容,设计了下列表,这些表之间相互关联,共同存储着系统所需要的数据。在设计数据库表的过程中,一般要遵循几条原则:数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的复杂度小;数据表的信息结构一定要合适,表的字段的数量一般不要过多;扩展信息和动态变化的信息一定要分开在不同的表里;多对多这样的表关系尽量不出现等。
留言表:ID——留言编号。
IY——留言内容。
IYTIME——留言时间。
IYNAME——留言者姓名。
留言回复:HF——回复内容。
HFNAME——回复人姓名。
NID——回复编号。
TITLEID——与留言编号相对应。
HFIP——回复地址。
HFTIME——回复时间。
管理员(admin):adname——管理员账号。
Apass——管理员密码。
设计数据表间的关系为双层对应,就是简单的针对某一留言管理员进行回复至此,留言系统的架构部分设计完成了,有了具体的数据库结构设计和系统功能设计,就确定了系统的数据基础和功能架。
五.数据库连接。
Access是文件型数据库,一个文件就是一个数据库,可以利用ASP中的语法直接连接。在连接数据库之前,必须先声明一个对象来当作数据库与ASP程序之间的媒介,具体连接方式如下。
<%
dim conn,strconn
strconn="dbq=" & server.MapPath("data.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
set conn=server.CreateObject("adodb.connection")
conn.open strconn
%>……………………………………………………与数据库的连接程序页面
<%
dim sql,rs
set rs=server.CreateObject("adodb.Recordset")…………..创建RecordSet 对象
sql="select * from lyl order by id desc"..从数据库中读取留言,并保存在rs 中
rs.open sql,conn,3,2…打开数据
if rs.eof or rs.bof then……………………………不存在数据
response.Write("
对不起,暂时没有留言")…….显示提示
response.End()………………………………………..程序终止
else
dim page,recordnum
page=cint(request("page"))…………………………获得页面值并转换为数值
rs.pagesize=6………………………………………..页面最多显示六条信息
if page<=0 then……………………………………...开始进行分页逻辑运算
page=1
end if
if page>rs.pagecount then
page=rs.pagecount
end if
if page=rs.pagecount then
recordnum=rs.recordcount-6*(page-1)
else
recordnum=6
end if
rs.move rs.pagesize*(page-1)%>……………………对数据的连接及分页
<% for i=1 to recordnum %> ……………………………利用循环实现分页
中间加入要显示的内容,如<%=rs(“lyname”)%>………留言人的姓名
<% rs.movenext
Next
%>
数据添加:
<%
lyname=request.Form("lyname")
ly=request.Form("ly")
lyip=request.Form("lyip")
lytime=request.Form("lytime")
sql="insert into lyl(lyname,ly,lyip,lytime) values ('"& lyname &"','"& ly &"','"& lyip &"','"& lytime &"')"………………………………………..对数据库进行添加操作
conn.execute(sql)……………………………………………添加一条数据
response.Write("")
%>
数据删除:
<%
id=request("id")…………………………………………………需要删除留言的编号
sql="delete from lyl where id="& id
conn.execute(sql)………………………………………………删除一条留言
response.Write("")
%>
六.留言页面设计。
建立查看留言相关页面。如图。
七.建立管理员登陆界面。
管理模块访问页面login.asp,数据库中默认的已经存在的用户为andim,密码pass。该模块登录时要进行用户名和密码的有效性验证,查询用户表,如果该用户存在则进入管理的主页面login.asp,该校验过程中存储该用户的编号在session中,以便维持该用户的有效性连接,见图。
八.建立管理相关页面。
上面介绍了登录模块,接下来在管理员登录后进入留言维护模块,负责对一些不符合要求的帖子进行删除。如图。
页面相关代码:
<%
if session("adname")="" then
response.Write("
对不起,只有管理员才能访问此页面管理员登陆
")……..确定管理员
else
window=request("window")
nid=request("nid")……………………………….要删除回复的编号
id=request("id")……………………………….要删除留言的编号
if window="delly" then
sql="delete from lyl where id="& id
conn.execute(sql)……………………………………………根据编号删除信息
response.Write("")
elseif window="delhf" then
sql="delete from lyhf where nid="& nid
conn.execute(sql) ……………………………………………根据编号删除信息
response.Write("")
end if
九.配置运行和调试。
Microsoft Office, IIS 的安装和程序的安装。IIS(WinNT平台下)和PWS(Win9X平台下)属同一事物,是ASP的开发平台、运行后台,也是服务器的运行软件。安装IIS或PWS之后,最重要的就是要设置虚拟目录。如果没有虚拟目录,网页将无法访问。
十.总结。
该系统设计过程中,将管理员管理和用户登录的入口都放在主页面上,使得系统管理员能对留言进行通用化管理。根据需求分析所得到的管理员管理的扩展功能使留言管理与使用更加方便和人性化
——