




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、web开发技术论坛系统目录:概述1系统需求分析4系统功能8系统模块划分10系统流程图10数据库设计(er图)11详细设计及实现12(关键算法、方法,运行效果图,关键代码等)总结体会33一、概述1、项目背景说明:a 论坛系统;b 实现普通论坛的操作,从而达到交流信息的效果;2、 编写目的随着internet的快速发展壮大,挨家挨户都已经习惯于计算机渗透自己的生活。计算机处理信息的能力就成为计算机人期望提高的目标,以实现及时、准确的掌握信息。计算机的作用已经在生活中各个方面体现出来,随着技术的发展,人们知识的拓展,使用计算机交流已经成为一个势必的主流。本项目是一个以论坛为主题的项目,大家可以实现普
2、通论坛的操作,从而达到交流信息的效果,下面将会详细介绍本项目的架构。3、开发环境:1软件环境本次开发的系统采用sql server数据库管理系统作为后台,采用microsoft visual studio2010作为前台开发工具。visual studio是微软公司推出的开发环境。是目前最流行的windows平台应用程序开发环境。visual studio 2010版本于2010年4月12日上市,其集成开发环境(ide)的界面被重新设计和组织,变得更加简单明了。visual studio 2010同时带来了 net framework 4. microsoft visual studio 20
3、10 ctp( community technology preview-ctp),并且支持开发面向windows 7的应用程序。除了microsoft sql server,它还支持 ibm db2和oracle数据库。 2硬件环境现在一般的兼容机完全可以满足系统的要求。4、 功能概述提供包括用户注册,帖子发布、评论以及后台管理等内容。用户注册新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。用户可以凭借此账号实现与其他用户的互动。登录提供用户凭证,验证用户信息是否合法,根据用户角色授权。用户登录:对于注册用户,可以通过输入其注册名及密码进入系统。管理员登录:对于管理员可以
4、通过输入其注册名及密码进入系统,享有高级权限。发表帖子用户发表一个讨论主题,内容包括标题,正文等。查看帖子查看帖子列表及其详细信息,在详细信息页面中显示该帖子所有的回复。回复帖子用户可以对帖子进行回复。帖子管理管理员可以对帖子进行修改和删除。用户信息修改对于用户可以修改自己的信息。模块管理管理员可以新建模块,删除模块,修改模块。bbs的总体功能图如下图所示:bbs论坛系统模块管理用户信息修改帖子管理回复帖子查看帖子用户登陆用户注册发表帖子2、 需求分析系统主要业务操作流程:(1) 用户注册业务流程图:输入会员信息息开始通过会员信息持久化结束不通过检验合法性 (2) 用户登录业务流程图:正确错误
5、开始输入用户信息检验用户名密码是否正确根据角色授权结束束(3) 帖子发表业务流程图否是开始用户是否登录发表帖子持久化结束(4) 帖子查看业务流程图开始浏览帖子结束(5) 帖子回复业务流程图开始帖子回复持久化结束(6) 帖子管理业务流程图否是开始是否拥有管理员或版主权限帖子的管理操作结束(7) 用户信息修改业务流程图开始是否登录 否 是修改个人信息结束(8) 模块管理业务流程图否是开始是否管理员持有管理员权限管理版块结束三、系统功能用户注册功能:功能描述通过此功能用户可以注册一个账号成为论坛系统的会员输入用户名,密码,用户资料操作序列提交个人资料并注册输出将用户信息保存至数据库中补充说明未注册的
6、用户可以注册,已注册用户不能重复注册登陆功能:功能描述通过此功能用户可以登录到该论坛系统上输入用户名和密码操作序列登录至论坛主页输出软件的操作界面用户信息修改功能:功能描述通过此功能读者可以修改自己的密码、个人资料输入用户名(原密码),新的个人资料操作序列登录至修改个人资料页面输出用户名和密码(联系方式等)发表帖子功能:功能描述通过此功能读者可以在论坛上发表新的帖子输入帖子的名称及内容操作序列读者在发表帖子页面上帖子的相关信息输出新的帖子页面查看并回复帖子:功能描述通过此功能读者可以查看所需要的帖子回复帖子输入查看帖子的名称需要回复的内容操作序列进入帖子列表页面回复帖子页面输出帖子的详细信息及
7、回复情况帖子管理:功能描述通过此功能管理可以删除帖子输入帖子的名称及内容操作序列进入帖子修改页面输出帖子的详细信息及回复情况4、 系统模块划分个人模块:注册:注册一个新的用户。修改个人资料:修改用户资料。发表帖子:发表一个新的帖子。回复帖子:回复已存在的帖子。帖子模块:帖子管理:管理员可以删除不符合规定的帖子。主页显示:主页显示了所有帖子,并可以从主页进入帖子浏览界面。5、 系统流程图bbs论坛系统论坛主页 注册登录 游客访问用户管理员删除帖子修改信息回复帖子浏览帖子发表帖子6 数据库设计(er图)真实姓名名性别用户邮箱地址址电话用户id密码密码问题题问题答案案 用户e-r实体图模块模块名称模
8、块日期模块id 模块e-r实体图帖子帖子id帖子状态帖子分类帖子名称帖子内容发帖日期发帖人 帖子e-r实体图评论评论id评论时间评论内容评论的帖子id 评论e-r实体图数据库设计:七、详细设计及实现标头组件:链接组件:菜单组件:论坛主页:using system;using system.data;using system.data.sqlclient;using system.configuration;using system.collections;using system.web;using system.web.security;using system.web.ui;using s
9、ystem.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.web.ui.htmlcontrols;public partial class index : system.web.ui.page dataoperate sqlbind = new dataoperate(); sqlconnection sqlcon = new sqlconnection(configurationmanager.appsettingsconnectionstring); protected void page_
10、load(object sender, eventargs e) dlbind(); string sqlstr = select * from bbs_user; sqldataadapter ada = new sqldataadapter(sqlstr, sqlcon); if (!ispostback) try labusername.text = sessionname.tostring() + !; catch public void dlbind() int curpage = convert.toint32(this.labpage.text); pageddatasource
11、 ps = new pageddatasource(); sqlcon.open(); string sqlstr = select a.*,b.* from bbs_card as a join bbs_module as b on a.moduleid=b.moduleid; sqldataadapter myadapter = new sqldataadapter(sqlstr, sqlcon); dataset ds = new dataset(); myadapter.fill(ds, bbs_card); sqlcon.close(); ps.datasource = ds.tab
12、lesbbs_card.defaultview; ps.allowpaging = true; ps.pagesize = 2; ps.currentpageindex = curpage - 1; this.lnkbtnup.enabled = true; this.lnkbtnnext.enabled = true; this.lnkbtnback.enabled = true; this.lnkbtnone.enabled = true; if (curpage = 1) this.lnkbtnone.enabled = false; this.lnkbtnup.enabled = fa
13、lse; if (curpage = ps.pagecount) this.lnkbtnnext.enabled = false; this.lnkbtnback.enabled = false; this.labbackpage.text = convert.tostring(ps.pagecount); this.dlcontent.datasource = ps; this.dlcontent.datakeyfield = cardid; this.dlcontent.databind(); protected void lnkbtnone_click(object sender, ev
14、entargs e) this.labpage.text = 1; this.dlbind(); protected void lnkbtnup_click(object sender, eventargs e) this.labpage.text = convert.tostring(convert.toint32(this.labpage.text) - 1); this.dlbind(); protected void lnkbtnnext_click(object sender, eventargs e) this.labpage.text = convert.tostring(con
15、vert.toint32(this.labpage.text) + 1); this.dlbind(); protected void lnkbtnback_click(object sender, eventargs e) this.labpage.text = this.labbackpage.text; this.dlbind(); protected void dlcontent_selectedindexchanged(object sender, eventargs e) 用户登录:using system;using system.data;using system.data.s
16、qlclient;using system.configuration;using system.collections;using system.web;using system.web.security;using system.web.ui;using system.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.web.ui.htmlcontrols;public partial class _default : system.web.ui.page protected void page
17、_load(object sender, eventargs e) protected void button1_click(object sender, eventargs e) httpcookie cookie = request.cookiescheckcode; sqlconnection sqlcon = new sqlconnection(configurationmanager.appsettingsconnectionstring); sqlcon.open(); sqlcommand sqlcom = sqlcon.createcommand(); sqlcom.comma
18、ndtext = select count(*) from bbs_user where userloginname=+txtusername.text+and userpwd=+txtpassword.text+; int countadmin = convert.toint32(sqlcom.executescalar(); if (countadmin 0) if (cookie.value = textbox3.text) response.write(alert(登陆成功);location=); sessionname = txtusername.text; page.respon
19、se.redirect(index.aspx); else response.write(alert(验证码错误);location=javascript:history.go(-1); else response.write(alert(用户名或密码错误!);location=javascript:history.go(-1); return; sqlcon.close(); protected void button2_click(object sender, eventargs e) txtusername.text = ; txtpassword.text = ; textbox3.t
20、ext = ; 修改个人信息:using system;using system.data;using system.data.sqlclient;using system.configuration;using system.collections;using system.web;using system.web.security;using system.web.ui;using system.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.web.ui.htmlcontrols;publi
21、c partial class personinfo : system.web.ui.page protected void page_load(object sender, eventargs e) dataoperate sqloperate = new dataoperate(); sqlconnection sqlconn = new sqlconnection(configurationmanager.appsettingsconnectionstring); string sqlstr = select * from bbs_user; sqldataadapter ada = n
22、ew sqldataadapter(sqlstr, sqlconn); dataset ds = new dataset(); if (!ispostback) try labusername.text = sessionname.tostring() + !; catch response.write(alert(您还没有登录,或是服务器超时,请重新登录!);location=login.aspx); protected void btnupdate_click(object sender, eventargs e) dataoperate sqloperate = new dataoper
23、ate(); sqlconnection sqlconn = new sqlconnection(configurationmanager.appsettingsconnectionstring); if (sessionname.tostring() != null) sqlconn.open(); sqldataadapter ad = new sqldataadapter(select * from bbs_user where userloginname= + sessionname.tostring() + , sqlconn); dataset d = new dataset();
24、 ad.fill(d, bbs_user); try string sex = ddlsex.selectedvalue; string photo = ddlphoto.selectedvalue; string pwd = txtpwd.text; string name = txttname.text; string quepwd = txtquepwd.text; string anspwd = txtanspwd.text; string tel = txttel.text; string email = txtemail.text; string sqlupdate = updat
25、e bbs_user set usersex= + sex + ,userpwd= + pwd + ,username= + name + ,userquepwd= + quepwd + ,useranspwd= + anspwd + ,usertel= + tel + ,useremail= + email + ,userphoto= + photo + where userloginname= + sessionname.tostring() + ; sqlcommand com = new sqlcommand(sqlupdate, sqlconn); com.executenonque
26、ry(); sqlconn.close(); response.write(alert(修改成功);); catch response.write(alert(修改失败);); protected void ddlphoto_selectedindexchanged(object sender, eventargs e) imgphoto.imageurl = /photos/ + ddlphoto.selectedvalue + .jpg; protected void btncancel_click1(object sender, eventargs e) txtpwd.text = ;
27、txttname.text = ; txtquepwd.text = ; txtanspwd.text = ; txttel.text = ; txtemail.text = ; 用户注册:using system;using system.collections;using system.configuration;using system.data;using system.linq;using system.web;using system.web.security;using system.web.ui;using system.web.ui.htmlcontrols;using sy
28、stem.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.xml.linq;using system.data.sqlclient;public partial class register : system.web.ui.page dataoperate sqloperate = new dataoperate(); sqlconnection sqlconn = new sqlconnection(configurationmanager.appsettingsconnectionstring
29、); protected void page_load(object sender, eventargs e) protected void btnregister_click(object sender, eventargs e) string sqltest = select * from bbs_user where username= + this.txtloginname.text + ; sqlconn.open(); sqlcommand sqlcom = new sqlcommand(sqltest, sqlconn); sqldatareader read = sqlcom.
30、executereader(); read.read(); if (read.hasrows) if (this.txtloginname.text.trim() = readusername.tostring().trim() response.write(alert(该会员已经注册过);localtion=register.aspx); return; string sqlstr = insert into bbs_user(userloginname,usersex,userpwd,username,userquepwd,useranspwd,usertel,useremail,user
31、photo)values(loginname,usersex,userpwd,username,userquepwd,useranspwd,usertel,useremail,userphoto); sqlcom.commandtext = sqlstr; sqlparameter para1 = new sqlparameter(loginname, sqldbtype.char, 10); para1.value = txtloginname.text; sqlcom.parameters.add(para1); sqlparameter para2 = new sqlparameter(
32、usersex, sqldbtype.char, 10); para2.value = ddlsex.selectedvalue; sqlcom.parameters.add(para2); sqlparameter para3 = new sqlparameter(userpwd, sqldbtype.varchar, 50); para3.value = txtpwd.text; sqlcom.parameters.add(para3); sqlparameter para4 = new sqlparameter(username, sqldbtype.varchar, 50); para
33、4.value = txttname.text; sqlcom.parameters.add(para4); sqlparameter para5 = new sqlparameter(userquepwd, sqldbtype.varchar, 50); para5.value = txtquepwd.text; sqlcom.parameters.add(para5); sqlparameter para6 = new sqlparameter(useranspwd, sqldbtype.varchar, 50); para6.value = txtanspwd.text; sqlcom.
34、parameters.add(para6); sqlparameter para7 = new sqlparameter(usertel, sqldbtype.char, 50); para7.value = txttel.text; sqlcom.parameters.add(para7); sqlparameter para8 = new sqlparameter(useremail, sqldbtype.varchar, 50); para8.value = txtemail.text; sqlcom.parameters.add(para8); sqlparameter para9 =
35、 new sqlparameter(userphoto, sqldbtype.varchar, 50); para9.value = ddlphoto.text; sqlcom.parameters.add(para9); sqlconn.close(); sqlconn.open(); sqlcom.executenonquery(); sqlconn.close(); sessionregname = txtloginname.text.trim(); response.redirect(succreg.aspx); protected void btncancel_click(objec
36、t sender, eventargs e) txtloginname.text = ; txtpwd.text = ; txttname.text = ; txtquepwd.text = ; txtanspwd.text = ; txttel.text = ; txtemail.text = ; txtloginname.focus(); protected void btntest_click(object sender, eventargs e) if (txtloginname.text = ) response.write(alert(会员登录名不能为空!);localtion=r
37、egister.aspx); else string sqlstr = select * from bbs_user where userloginname= + this.txtloginname.text + ; sqlconn.open(); sqlcommand sqlcom = new sqlcommand(sqlstr, sqlconn); sqldatareader read = sqlcom.executereader(); read.read(); if (read.hasrows) if (this.txtloginname.text.trim() = readuserlo
38、ginname.tostring().trim() response.write(alert(该会员已经注册过);localtion=register.aspx); return; else response.write(alert(您可以进行正常注册);localtion=register.aspx); read.close(); sqlconn.close(); protected void ddlphoto_selectedindexchanged(object sender, eventargs e) imgphoto.imageurl = /photos/+ddlphoto.sele
39、ctedvalue+.jpg; 查看并回复帖子:using system;using system.data;using system.data.sqlclient;using system.configuration;using system.collections;using system.web;using system.web.security;using system.web.ui;using system.web.ui.webcontrols;using system.web.ui.webcontrols.webparts;using system.web.ui.htmlcontr
40、ols;public partial class revertcard : system.web.ui.page dataoperate sqlbind = new dataoperate(); sqlconnection sqlcon = new sqlconnection(configurationmanager.appsettingsconnectionstring); protected void page_load(object sender, eventargs e) dlbind(); string sqlst = select * from bbs_user; sqldataa
41、dapter ada = new sqldataadapter(sqlst, sqlcon); if (!ispostback) try labusername.text = sessionname.tostring() + !; catch string idstr = page.request.querystringcardid; sqlcon.open(); string sqlstrbind = select * from bbs_card where cardid= + idstr + ; sqlcommand sqlcom = new sqlcommand(sqlstrbind,
42、sqlcon); sqldatareader tmpreader = sqlcom.executereader(); if (tmpreader.read() labcardtitle.text = 帖子标题: + tmpreadercardname.tostring(); labcardid.text = tmpreadercardid.tostring(); labcarddate.text = 发帖日期: + tmpreadercarddate.tostring(); labcardcontent.text = tmpreadercardcontent.tostring(); sqlcon.close(); p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学信息培训总
- 前端技术模拟面试题及答案
- 患者搬运约束技术培训试题及答案
- 辅警法律知识培训提纲课件
- 农业银行2025兴安盟秋招笔试性格测试题专练及答案
- 邮储银行2025鄂尔多斯市秋招笔试创新题型专练及答案
- 农业银行2025凉山彝族自治州秋招笔试创新题型专练及答案
- 农业银行2025鹰潭市小语种岗笔试题及答案
- 2025年3D打印的食品制造工艺
- 2025行业数字化转型成功案例分析
- 七上数学期末26天复习计划
- 铜矿选矿厂废气净化与能源回收
- 18项护理核心制度
- 部编版小学语文五年级上册课后习题参考答案(可下载打印)
- 2024年高中英语衡水体书法练字字帖
- 装配式结构吊装施工计算书
- JB-T 14400-2022 食品机械 隧道式蒸烤机
- 质量/安全生产管理制度
- 2024年安徽高中化学竞赛初赛试题
- 诚信教育与学术道德课件
- 河南省文物保护单位名录
评论
0/150
提交评论