留言板系统的设计与实现.docx
《留言板系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《留言板系统的设计与实现.docx(13页珍藏版)》请在冰豆网上搜索。
留言板系统的设计与实现
课程设计任务书及成绩评定
课程设计的任务和具体要求
通过本实验理解在ASP.NET环境中创建ASP.NET数据库应用网站的方法和常用技巧;理解ADO.NET环境中的应用;掌握Web窗体控件的基本使用方法和常用属性。
通过本实验主要让学生体验如何综合运用前面几个章节所学的知识去开发一个实用性网站,主要达到如下目标:
1.学会系统分析的方法,掌握如何来分析系统的功能与业务流程。
2.学会数据库的设计方法,掌握如何来设计数据表单。
3.学会面向对象的方法和模块化的页面设计方法。
4.熟练掌握常用Web控件的使用以及C#语言的编程。
指导教师签字:
日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件等
所需软件:
VisualStudio2005
所需硬件:
计算机、打印机
课程设计进度计划
起至日期
工作内容
备注
2012.5.3-2012.5.15
2012.5.6-2012.5.30
2012.5.31-2012.6.15
2012.6.16-2012.6.20
2012.6.21-2012.6.26
收集资料
总体规划
编写程序与调试程序
程序测试
撰写课程设计
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
[1]程不功,龙跃进,卓琳 动态网站开发教程ASP.NET2.0清华大学出版社2008年1月。
[2]闪四清SQLSERVER2005基础教程清华大学出版社2007年4月。
[3]张立.C#2.0宝典[M].北京:
电子工业出版社,2007
3.2用户注册.......................................................................................................................8
3.3用户留言.......................................................................................................................8
3.4查看留言板................................................................................................................9
3.5管理员登陆..............................................................................................................11
3.6管理员回复留言.....................................................................................................12
3.7管理员删除留言.....................................................................................................13
4设计创新和关键技术.........................................................................................................14
5结论.....................................................................................................................................14
1系统分析和开发背景
系统分析:
留言板是提供人们网络上的交流平台。
人们通过操作可以实现留言或者查看留言。
管理员还可以通过管理员可对所有留言进行删除和回复。
而其他用户只能通过注册才进行留言,查看留言板,防止了一些恶意留言。
留言板是一个简单、易操作、较灵活的系统,人们可以通过简单的操作步骤就可以实现想要完成的功能。
开发背景:
留言板系统将数据库和ASP.NET有效地连接起来,ASP处理数据库的强大能力,加上ASP.NET的简单易用,易于编写。
2设计流程图
本次课程设计是先设计一个首页Default.aspx,在首页里有3个控件,分别是:
TextButton输入用户名,TextButton输入密码,Button提交.就进入普通用户界面admin.aspx。
Nobody用户则进入super.aspx超级管理员界面。
在普通用户界面,用户可以查看留言,发表留言,注销.管理员可以进行留言管理,账号管理.具体流程如图一:
多功能留言板
管理
员
登陆
用户登陆
注册账号
找回密码
用户管理
留言管理
发表留言
查看留言
注册成功
验证安全码
修改密码
图2-1设计流程图
在”留言系统”这个网站中,里面有一个会员登录窗口,若是管理员登录,则可以管理账号和留言内容,页可以查看留言。
若是普通用户,也可以留言,注册账号,找回密码。
若是游客,则可以进行账户申请。
如果用户忘记了自己的密码,还可以通过在注册账号时填写的安全吗进行密码恢复。
3设计内容
3.1用户登录
对在首页里有3个控件,分别是:
TextButton输入用户名,TextButton输入密码,Button提交.就进入普通用户界面admin.aspx。
Nobody用户则进入super.aspx超级管理员界面。
在普通用户界面,用户可以查看留言,发表留言,注销.管理员可以进行留言管理,账号管理.游客则可以进行账户注册和密码恢复.调试结果如图二:
图3-1.1登陆页面
在用户登录的时候,程序根据用户输入的账号和密码生成标准的select语句,然后执行查询。
如果返回结果不为空,则可以通过,然后跳转到admin.aspx文件。
否则则跳转到登录页面。
以下为关键程序代码:
protectedvoidButton1_Click(objectsender,EventArgse)
OleDbConnectionconn=newOleDbConnection();
conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/book.mdb");
conn.Open();
//Response.Write(conn.State);
stringname=txtUsername.Text.Trim();
stringpasswd=txtPasswd.Text.Trim();
stringSQLstr="select*from[user]whereuser_name='"+name+"'andpasswd='"+passwd+"'";
OleDbCommandcom=newOleDbCommand(SQLstr,conn);
OleDbDataReaderdr=com.ExecuteReader();
if(!
dr.Read())
{
Response.Write("");
return;
}
else
{
Session["pass"]=dr["user_name"];
Response.Redirect("admin.aspx");
}
dr.Close();
conn.Close();
在用户登录后,变进入了admin.aspx文件.在admin.aspx文件先进行session验证,如果不存在session,则不进行下面的步骤,直接跳转到登录框。
这样可以防止用户的恶意浏览。
以下为关键代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
this.Title="查看留言";
if(Session["pass"]==null)
{
Response.Redirect("Default.aspx");
return;
}
}
以下为效果图:
图3-1.2查看留言页面
3.2用户注册
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlConnectioncn=newSqlConnection();
cn.ConnectionString="DataSource=.;Database=liuyan;Integratedsecurity=SSPI";
cn.Open();
SqlCommandcom=newSqlCommand();
com.Connection=cn;
com.CommandText="selectcount(*)fromyonghuwhereid='"+tb_id.Text+"'";
inti=(int)com.ExecuteScalar();
if(i==0)
{SqlDataSource1.Insert();
Response.Write("alert('注册成功');location.href='yonghudenglu.aspx'");}
elseResponse.Write("alert('该用户名已被注册');location.href='zhuce.aspx'");
}
图3-2用户注册页面
3.3用户留言
protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse)
{
SqlConnectioncn=newSqlConnection();
cn.ConnectionString="DataSource=.;Database=liuyan;Integratedsecurity=SSPI";
cn.Open();
stringstr=Session["aaaaa"].ToString();
SqlCommandcom=newSqlCommand();
com.Connection=cn;
com.CommandText="insertintoliuyan(liuname,liutext,time1)values('"+str+"','"+TextBox1.Text+"','"+DateTime.Now.ToLongDateString().ToString()+"')";
com.ExecuteNonQuery();
Response.Write("alert('留言成功');location.href='yonghucha.aspx'");
}
3.4查看留言板
在这个admin.aspx页面里,用户可以进行留言,查看留言等等的操作。
当用户点击留言的时候就跳转到contact.aspx页面,然后再进行留言.首先对用户输入的数据进行判断,若用户的输入不完整则提示用户重新输入,如果输入无误的话,则连接数据库,使用SQL的UPDATE语句进行插入记录操作.以下为关键代码:
protectedvoidbtnUserSubmit_Click(objectsender,EventArgse)
{
if(txtUserContent.Text==""&&txtUserMail.Text==""&&txtUserTitle.Text==""&&txtUserName.Text=="")
{//用来过滤输入不合法的用户
Response.Write("");
return;
}
//定义auto变量
stringuser_name=txtUserName.Text.Trim();
stringuser_mail=txtUserMail.Text.Trim();
stringuser_title=txtUserTitle.Text.Trim();
stringuser_content=txtUserContent.Text.Trim();
//手动定义数据库连接
OleDbConnectionconn=newOleDbConnection();
//连接字符串
conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/book.mdb");
//打开连接
conn.Open();
//需要执行的SQL语句
stringstrSQL="insertintomsg(name,mail,title,content)values('"+user_name+"','"+user_mail+"','"+user_title+"','"+user_content+"')";
//调试
//Response.Write(strSQL);
//
OleDbCommandinsCom=newOleDbCommand(strSQL,conn);
//
OleDbDataAdapterda=newOleDbDataAdapter();
try
{
insCom.ExecuteNonQuery();
}
catch{}
Response.Write("");
conn.Close();
如果留言成功,则使用对话框提示“留言成功”.当用户点击的是查看留言的时候,则跳转到admin.aspx页面,然后通过一个gridview空间显示留言.普通用户在这里只能进行留言查看功能,而管理员则可以进行留言管理和删除操作。
以下为效果图:
图3-3留言页面
如果用户点击退出系统按钮,则跳转到logout.aspx页面,在这个页面里,进行了session销毁操作,然后再跳转到首页。
以下为程序的关键代码:
protectedvoidPage_Load(objectsender,EventArgse)
{
this.Title="您即将退出此留言系统";
//销毁session
Session["pass"]=null;
//跳转到首页,我想实现如何才能在3秒后跳转
Response.Redirect("Default.aspx");
}
3.5管理员登陆
当管理员的登陆的时候,可以进行账户管理和留言管理.也就是在使用gridview控件的时候,启用了删除和编辑功能。
但是在这个管理页面里,为了安全起见,也是进行了session验证。
如果登陆的用户名不是nobod,即管理员,则不提示管理的操作。
以下为关键代码:
GridView1.Caption="留言管理";
if((string)Session["pass"]!
="nobody")
{
Response.Redirect("Default.aspx");
}
以下为效果图:
图3-4管理账户页面
3.6管理员回复留言
protectedvoidButton1_Click(objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=.;Database=liuyan;Integratedsecurity=SSPI";
con.Open();
SqlCommandcom=newSqlCommand();
com.Connection=con;
com.CommandText="updateliuyansetliuhuifu=@lyfwhereid=@id";
SqlParameterpa=newSqlParameter("@lyf",SqlDbType.VarChar,200);
pa.Value=TextBox1.Text;
com.Parameters.Add(pa);
pa=newSqlParameter("@id",SqlDbType.Int);
pa.Value=Session["idd"].ToString();
com.Parameters.Add(pa);
inti=com.ExecuteNonQuery();
if(i!
=0)
Response.Write("alert('回复成功');");
Response.Redirect("chakan.aspx");
}
图3-5回复留言
3.7管理员删除留言
protectedvoidPage_Load(objectsender,EventArgse)
{
Session["qw"]="1";
}
protectedvoidDataList1_ItemCommand(objectsource,DataListCommandEventArgse)
{
if(Session["qw"]=="0")
{
Session["idd"]=e.CommandArgument.ToString();
Response.Redirect("huifu.aspx");
}
else
{
SqlConnectioncon=newSqlConnection();
con.ConnectionString="DataSource=.;Database=liuyan;IntegratedSecurity=SSPI";
con.Open();
SqlCommandcmd=newSqlCommand("deletefromliuyanwhereID="+e.CommandArgument,con);
cmd.ExecuteNonQuery();
Response.Redirect("chakan.aspx");
}
}
4设计创新和关键技术
C#是从C和C++程序设计语言发展而来的,它继承了C++和Java语言的优点,是面向对象的高级程序设计语言,它具有功能强大、语言简洁高效、与Web技术紧密结合、完整的安全和错误处理机制等特点。
在本次课设中有两个特点:
首先是用户在浏览网页时,可以实现在线阅读图书的功能。
使用户在网上可以轻松阅读。
其次是用户可以在网上进行购书,以此满足用户的需求。
当然在设计过程中也遇到一些困难。
首先最关键的就是对于页面的布局。
对于每一个页面都是先设置一个HTML表格,在表格里进行页面的设计。
但是表格不好控制,导致每次布局都要花很多时间。
其次就是对Session对象的应用有点陌生。
在本次设计中最关键的技术就是“Session对象”。
[8]Session(会话)是一个对象集合,其作用是在服务器端存储特定信息,利用Session对象可以在用户访问某个页面里存储一些属于该用户的信息,当用户浏览器跳转到其它页面里仍可访问保存在服务器端的用户信息。
在本次课设中,就是利用Session的作用使得用户可以自由购买书籍。
5结论
课程设计是对我们综合能力的考察。
通过此次的课程设计,我觉得我学到了很多东西。
刚开始学C#的时候,对它并没有什么印象。
只知道一些基本的控件按钮。
等到真正要用到的时候发现自己知道得好少。
通过上网、去图书馆查资料。
我逐渐认识到了C#,通过几周的努力,终于把“留言系统”这个网站给做出来了。
虽然页面布置有点不美观,但是看到是自己制作的成果,我还是感到欣慰。
这个网站用户不能随意浏览任意页面,这样做也是从安全的角度考虑的。
如果有一个恶意用可以进行管理操作,则他就可以删除其他人的账号和留言了。
当然,在这个网站里也出现了一些小问题,我希望通过以后的进一步学习,能够更好的完善此网站,使它能真正满足用户的需求,被人们更好的运用。