留言板实验报告.docx
《留言板实验报告.docx》由会员分享,可在线阅读,更多相关《留言板实验报告.docx(19页珍藏版)》请在冰点文库上搜索。
![留言板实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-4/28/9989af8c-ac78-4e71-a089-d1b71b0ee80d/9989af8c-ac78-4e71-a089-d1b71b0ee80d1.gif)
留言板实验报告
河南工程学院
实习报告
课程名称 ASP.NET程序设计实训
设计题目留言板设计与实现
系(部) 计算机学院
班 级信息管理1133班
学号************
姓名王春丽
实习时间 2013.12.30-2014.1.3
指导老师李艳玮
2014年1月3日
实习(训)报告 评 语
等级:
评阅人:
职称:
年月
留言板设计与实现
1.实训内容
留言板设计与实现。
该系统采用了当前新兴的B/S模式进行开发。
三层的B/S体系结构具有许多传统C/S体系结构不具备的优点,而且又紧密结合Interneet、Inteanet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。
数据库采用灵活稳定的SQLServer数据库并能够处理大量数据,同时保持数据的完整性以及提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件用户查看留言模块、发表留言模块、管理留言模块(管理员权限)。
对于用户,拥有不同权限的用户(普通用户或管理员)可以对系统进行不同的操作。
2.系统需求分析
随着互联网的发展,越来越多的用户已经可以使用互联网进行信息交互,而企业留言本的开发解决了信息交互复杂和交互困难的难题,通过留言本可以加强企业与用户之间的信息交互,同时也解决了企业与用户沟通不便等情况。
留言板主要提供网上的一个信息发布的平台,大多作为网站的辅助功能存在。
浏览网页的用户可以通过该留言板进行留言的查看和签写。
而管理员则可以对用户的留言进行回复和删除等操作。
2.1 技术可行性
留言板网站是为了满足人们的需求而产生的,采用B/S三层体系结构,表示层用ASP.NET开发平台,业务层用C#编程语言,数据层用ADO.NET。
后台数据存储用SQL Sever2005数据库。
三层结构体系能够负责客户机与服务器、服务器和服务器之间的连接和通信,实现应用与数据库的高效连接:
提供一个三层结构的应用开发、运行、部署和管理的平台。
这三种层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能。
因此,本网站的开发在技术上是可行的。
2.2操作可行性
网站运行于Windows环境,其用户操作页面友好设计“网站导航”便于用户操作。
网站的基本操作如下:
·普通用户
自己留言,也可以观看别人的留言。
·管理员
可以对用户进行回复及对不文明的留言进行删除等操作。
2.3运行环境
1硬件条件:
较高的处理器,较大的内存空间,畅通的网络
2软件条件:
windows2007/windowsXP的操作系统;
装有IIS的web服务器;
Microsoft(R)VisualC#2005编译器;
SQL2005的数据库;
IE浏览器;
另外:
IIS添加及运行。
IIS的添加 请进入“控制面板”,依次选“添加/删除程序→添加/删除Windows组件”,将“Internet信息服务(IIS)”前的小钩去掉(如有),重新勾选中后按提示操作即可完成IIS组件的添加。
用这种方法添加的IIS组件中将包括Web、FTP、NNTP和SMTP等全部四项服务。
IIS的运行 当IIS添加成功之后,再进入“开始→设置→控制面板→管理工具→Internet服务管理器(Internet信息服务)”以打开IIS管理器,对于有“已停止”字样的服务,均在其上单击右键,选“启动”来开启。
3.设计目标和原则
随时了解广大客户的需求、对企业产品的意见、反馈信息及用户数据,便于企业更加方便的同用户进行信息交互,帮助企业更好的进行完善和改进,以满足广大客户的需求,促进企业与广大用户的友好关系。
留言板是一种电子便签管理系统,是用ASP.NET技术和C#语言及JavaScript脚本语言编写的网络应用程序。
在网络用户交流过程中起很大的作用,每个人都可以将他的信息及留言保留在上面,以供他人观看。
这个留言板只是简单的留言和管理员对留言板进行回复、删除管理的工具。
该留言板简单但实用,而且具备了大多说留言板的基本功能。
十分适合中小型企业。
4.功能模块设计
4.1模块设计
留言板分为三个大模块:
首页、发表留言、管理员登陆。
首页模块:
用户可以在该页面上查看所有的留言内容留言者头像、姓名、QQ、留言时间、留言信息、回复信息等信息
发表留言模块:
在该页面中用户可以填写自己的姓名、QQ、E-mail、URL、性别、留言信息等。
管理员登陆模块:
管理员进入登录模块后(username:
sa、password:
sa)可返回首页进行查看留言信息,并对留言进行回复及对不良留言的删除等操作。
留言板的功能模块划分图如下:
图1功能模块图
由上设计出留言系统的整体框架如下图:
图2系统整体框架图
4.2系统功能
(1)可以按照演的先后顺序,留言自动排序;
(2)间接地发表页面,填写主要的个人信息;
(3)管理员具有回复和删除留言的权利;
(4)拥有更多留言者的信息,包括名字、时间、E-mail、地址、留言信息等;
(5)具有防止留言客户非法管理留言功能;
4.3留言板文件夹中文件及各页面
图3文件夹和页面图
5.数据库设计
5.1后台数据库
采用ADP.NET动态网页技术实现网页与数据库之间的连接,WEB中当一个文件将变量传送到另一个文件后,自动产生一个变量,并通过SQL语句进行数据库操作,从数据库中读出数据,并显示出来。
(1)数据库架构
留言板数据库中数据表的字段类型。
包括:
ID(自动递增,不可重复)、userName、Sex、QQ、Url、Email、[Content]、Reply、imageAddress、postTime。
(2)添加、删除、修改数据表项
根据实际应用,可自行添加、删除或者修改数据表中的字段类型,从而实现灵活化数据库管理功能。
对实用价值不高的字段进行删除,有利于提高数据从数据库中的读取和存储的速度。
5.2关系模型
Dbo.adminconfig(username,userPwd,num)
Dbo.guest(ID,userName,Sex,QQ,Url,Email,[Content],Rply,imageAddress,postTime)
5.3数据表设计
本系统采用的SQLServer2005数据库,系统数据库名称为“book”,用了两个表,一个是用于保存管理员信息,另一个用于保存用户信息,详细设计如下:
(1)管理员信息表(dbo.adminconfig):
主要存放了管理员名字、登录密码、和数量等信息,具体设置如下图4。
图4数据库设计图
(2)用户信息表(dbo.guest):
主要存放了用户的ID、用户名、性别、QQ、Url、E-mail等用户信息,该表字段及类型定义如下图5。
图5数据库设计图
6.基本程序清单
6.1页面设计
6.1.1首页(留言板系统的主页)
图6查看留言信息图
该页面是留言的主要交流内容,进入留言首页看到的就是这个留言列表页,这里将页面分页显示,以便用户进行更直观的查看,通过该页面用户可以进入留言签写页面,管理员也可以通过该页面进入到管理页面,进行登陆验证等操作
另外,该页还会显示系统消息如下图:
图7系统消息图
6.1.2发表留言
图8用户管理图
在查看留言页面单击“发表留言”便可进入用户管理页面,通过该页面用户可以填写留言,填写完后点“发表留言”按钮即可提交留言,用户发表留言成功,数据表中相应留言表增加一条记录,或“重置”进行重新填写。
6.1.3管理员登陆
图9管理员登陆图
该页面主要是对管理员身份进行验证,数据表中已经建好管理员的登录名和相应的密码(管理员1:
登录名:
admin密码:
admin;管理员2:
登录名:
sa密码:
sa),管理员点“登录”后,将可以返回到首页,通过该页面管理员可以对留言进行回复和删除。
另外,若输错可重置,进行修改。
6.1.4管理回复
图10管理员回复图
管理员登陆成功后返回首页,然后点想要进行回复的留言,便可进入到该页面,对相应留言进行回复。
(该页面只有拥有管理权限的人才可进入,游客等是不可以对留言进行回复的,这一点保证了系统的安全性)
6.1.5留言删除页面
图11留言删除页面图
留言的删除页面只是简单的链接在该留言系统的主页(即首页留言页面)上,管理员点“删除留言”后页面不会跳转,只是该条留言记录被删除,图同查看留言页。
6.2程序设计
6.2.1首页主要程序代码
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Session["admin"]==null)//判断用户身份
{
this.PopupWin1.Message="欢迎访问!
你的身份是访客----你的IP"+Request.UserHostAddress;
}
else
{
this.PopupWin1.Message="欢迎访问!
你的身份是管理员---你的IP"+Request.UserHostAddress;
}
if(!
this.IsPostBack)
{
this.databindlist();//绑定数据
}
}
protectedvoidlbtnreply_Command(objectsender,CommandEventArgse)
{
if(Session["admin"]==null)
{
Response.Redirect("showmes.aspx?
message=对不起!
只有管理员才有权删除留言!
如果你是管理员!
请登陆");
}
else
{
Response.Redirect("Reply.aspx?
guestID="+e.CommandArgument);
}
}
protectedvoidDataList1_ItemDataBound(objectsender,DataListItemEventArgse)
{
LinkButtonlkb=(LinkButton)(e.Item.FindControl("lbtndel"));
if(lkb!
=null)
{
lkb.Attributes.Add("onclick","returnconfirm('你是否删除留言?
');");
}
}
protectedvoidlbtndel_Command(objectsender,CommandEventArgse)
{
if(Session["admin"]==null)
{
Response.Redirect("showmes.aspx?
message=对不起!
只有管理员才有权删除留言!
如果你是管理员!
请登陆");
}
else
{
SqlConnectioncon=DB.createcon();
con.Open();
SqlCommandcmd=newSqlCommand("deletefromguestwhereID="+e.CommandArgument,con);
if(Convert.ToInt32(cmd.ExecuteNonQuery())>0)
{
Response.Redirect("showmes.aspx?
message=删除成功");
}
else
{
Response.Redirect("showmes.aspx?
message=删除失败");
}
}
}
6.2.2发表留言(用户管理)
protectedvoidbtn_1_Click(objectsender,EventArgse)
{
stringusername=this.TextBox1.Text;
stringqq=this.TextBox2.Text;
stringurl=this.TextBox3.Text;
stringemail=this.TextBox4.Text;
stringcontent=this.TextBox5.Text;
stringsex="女";
stringimageaddress="girl.gif";
if(this.DropDownList1.SelectedValue.Equals("1"))
{
sex="男";
imageaddress="boy.gif";
}
SqlConnectioncon=DB.createcon();
con.Open();
stringsqlinto="insertintoguest(userName,Sex,QQ,Url,Email,Content,imageAddress)values('"+username+"','"+sex+"','"+qq+"','"+url+"','"+email+"','"+content+"','"+imageaddress+"')";
SqlCommandcmd=newSqlCommand(sqlinto,con);
if(Convert.ToInt32(cmd.ExecuteNonQuery())>0)
{
Response.Redirect("showmes.aspx?
message=留言成功");
}
else
{
Response.Redirect("showmes.aspx?
message=留言失败");
}
}
6.2.3管理员登陆
protectedvoidbtn_1_Click(objectsender,EventArgse)
{
stringusername=this.username.Text;
stringuserpwd=this.password.Text;
SqlConnectioncon=DB.createcon();
con.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromadminconfigwhereuserName='"+username+"'anduserPwd='"+userpwd+"'",con);
intcount=Convert.ToInt32(cmd.ExecuteScalar());
if(count>0)
{
Session["admin"]="admin";
Response.Redirect("showmes.aspx?
message=欢迎进入");
}
else
{
Response.Redirect("showmes.aspx?
message=对不起!
你的用户名或密码不正确!
请重新登陆!
");
}
}
6.2.4管理回复
protectedvoidbtn_1_Click(objectsender,EventArgse)
{
intID=Convert.ToInt32(Request.QueryString["guestID"]);
SqlConnectioncon=DB.createcon();
con.Open();
SqlCommandcmd=newSqlCommand("updateguestsetReply='"+this.TextBox1.Text+"'whereID="+ID,con);
if(Convert.ToInt32(cmd.ExecuteNonQuery())>0)
{
Response.Redirect("showmes.aspx?
message=回复成功");
}
else
{
Response.Redirect("showmes.aspx?
message=回复失败");
}
}
7.实训总结
在留言板程序的设计和完成中,我有不少收获。
在IIS的安装调试和所做程序的测试中,因为所用软件和操作系统版本不兼容遇到不少问题。
留言板只是一个小的程序设计,而做较大的网站时,版本的兼容问题不容忽视。
所以在做一件事前,全面周详的先期筹备是很重要的。
通过这次实训的设计,我掌握了ASP.NET制作留言板系统;利用C#语言作为主要语言工具,其中有用javascript脚本语言编写的泡泡小程序。
一般管理员主要是来管理删除留言; 一般用户可以查看留言和回复留言。
在编写程序的过程当中遇到不少问题,通过查找资料和网上查询及问同学得以解决。
函数的使用和脚本的使用都还不熟悉,以后多实训增加自己的实际动手能力。
设计与制作一定要考虑完善并且人性化。
数据库的使用要更加熟悉。