BBS论坛系统毕业论文



《BBS论坛系统毕业论文》由会员分享,可在线阅读,更多相关《BBS论坛系统毕业论文(60页珍藏版)》请在装配图网上搜索。
1、 焦 作 大 学 毕业设计(论文)说明书 作 者: 学 号: 学院(系): 专 业: 题 目: 焦大毕业季论坛系统 主 题: 指导教师: 职称: 2012年12月 I 焦作大学毕业设计说明书 摘 要 随着互联网
2、 技术的快速发展,人与人之间交流方式逐渐增多。网络视频、网络聊天、 博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便人们在某一专业领域探 讨问题和发表意见,互联网 上还出现了在线论坛。在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意 见或提出问题的方法。 开发 BBS 论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、 探讨问题的网上社区。因此,BBS 论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能
3、。只有注册的用户登录后才能够发表和回复主题,浏览者 (游客)只能浏览主题信息。 本论坛系统是基于是 Adobe Dreamweaver CS6+Microsoft Access 2003+asp 实现的,它具有使用方便、操作灵活、 运行稳定、安全可靠等特点。 关键词: 在线论坛,BBS,网上社区,Dreamweaver,Access Abstract With the rapid development of internet technology, means of communication between people is gradually increasing.
4、 Video, web chat, blog have become the main forms of exchanging information with each other. In addition, in order to allow people in a professional field to probe into questions and make comments, internet on-line forums have emerged. At the forum, people can put forward their own particular proble
5、ms encountered in the field, a subject that is issued, then the rest of the forum ,making comments or raise problems based on their knowledge and experience. BBS forum system aims to provide a communication platform for the user, for the majority of users to exchange experiences and explore issues o
6、f community. Therefore, BBS forum system is the most basic function of the first keynote, followed by other officers to express their views on the theme. In addition, in order to record the release of the theme and the theme of the respondents information systems also need to provide users registrat
7、ion and login function. Only registered users can log on and release publications and reply to topics, visitors (tourists) can only view topic information. This forum system is based on a Adobe Dreamweaver CS6+Microsoft Access 2003 implementation, it is convenient, flexible operation, stable, sa
8、fe and reliable. KeyWords :Online Forum, BBS, Online Community,Dreamweaver ,Access,asp 1 焦作大学毕业设计说明书 目录 第一章 前言 1 1.1选题的背景和选题的意义 1 第二章 系统技术及运行环境 3 2.1 ASP技术简介 3 2.2 Dreamweaver CS6简介 3 2.3ACCESS2003 技术简介 4 2.4利用ADO访问数据库 4 2.5 SQL语句简介 6 2.6 IIS简介 7 第三章 需求分析 10 3.1 用户功能需求 10
9、3.2 数据需求 11 第四章 总体设计 12 4.1 系统模块结构设计 12 4.2 数据库设计 14 4.2.1 E-R图分析 14 4.2.2 数据表设计 19 4.3系统流程图 22 第五章 详细设计 24 5.1 用户登录模块 24 5.2 用户注册模块设计 26 5.3 帖子版块模块设计 32 5.4 浏览帖子主题模块设计 43 5.5 帖子内容浏览模块设计 52 5.6 发帖模块设计 67 5.7超级管理员后台管理模块 68 5.8版主管理界面模块设计 74 第六章 性能测试与分析 76 6.1功能测试 76 6.2 运行分析情况 76
10、 结束语 78 致谢 79 参考文献 80 第 53 页 共 60 页 焦作大学毕业设计说明书 第一章 前言 1.1选题的背景和选题的意义 internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为数字ernet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因
11、此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。 我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够
12、对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。
13、本文中数据库服务器端采用Microsoft Access数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。整个个性化页面生成系统主要由使用Dreamweaver CS6开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。本文作者主要完成
14、Web服务器端的用户管理、帖子管理、版面管理、数据库管理、浏览和查找、短消息功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。 第二章 系统技术及运行环境 2.1 ASP技术简介 Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网
15、页。 ASP程序的优点: 1、ASP使用VBScript脚本语言直接源于VB语言,秉承了VB简单易学的特点,掌管起来非常容易。 2、无须编译,容易编写,可在服务器端直接执行。 3、与浏览器无关,客户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。 4、ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JavaScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言。 5、ASP技术的处理速度相当快,并且其安全性也很高,ASP的源程序,不会被传到客户浏
16、览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。 6、ASP的对象和组件:ASP有7个固有对象这7个固有对象分别是Request,Response,Server,Application,Session,ASPError和ObjectContext。 2.2 Dreamweaver CS6简介 Dreamweaver cs6 是世界顶级软件厂商adobe推出的一套拥有可视化编辑界面,用于制作并编辑网站和移动应用程序的网页设计软件。由于它支持代码、拆分、设计、实时视图等多种方式来创作、编写和修改网页,对于初级人员,你可以无需编写任何代码就能快速创建web页面。其成熟
17、的代码编辑工具更适用于web开发高级人员的创作!cs6新版本使用了自适应网格版面创建页面,在发布前使用多屏幕预览审阅设计,可大大提高工作效率。改善的 ftp 性能,更高效地传输大型文件。“实时视图”和“多屏幕预览”面板可呈现 html5 代码,更能够检查自己的工作。 2.3ACCESS2003 技术简介 Access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。那么什么叫数据库呢?数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存
18、放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。 Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库
19、文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 2.4利用ADO访问数据库 ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步: 1.创建数据库源名(DSN)
20、2.创建数据库链接(Connection) 3.创建数据对象 4.操作数据库 5.关闭数据对象和链接 每一步的作法如下: 一、创建数据源名 DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切
21、事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。 二、创建数据库链接(Connection) 链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下: set Conn=Server.createObject(“ADOBD.CONNECTION”) 这条语句创建了链接对象
22、Conn,接下来: connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"") conn.Open connstr 这条语句打开链接,用到了DSN,本例为“connstr”。 以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。 三、创建数据对象(Record Set) ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方
23、法: Set Record Set=Conn.Execute(sqtStr) 这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如: rs=“SELECT * FROM shop_books” Set Record Set=mConn.Execute(rs) 这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。 四、操作数据库 我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如: rs=“INSERT 数字
24、O tab1 VALUES(1,2)” mConn.Execute(rs) 执行插入操作 五、关闭数据对象和链接对象 在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。 Record Set.close Set Record Set=Nothing ‘关闭创建的数据对象 mConn.close Set mConn=Nothing ‘关闭创建的链接对象 2.5 SQL语句简介 1、SQL 语句简介 SQL全称是"结构化查询语言(Structured Query Langua
25、ge)",SQL包含4个 部分: (1)数据查询语言DQL-Data Query Language SELECT (2)据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE (3)数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP (4)数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 2、SQL的优点 (1)非过程化语言 (2)统一的语言 SQL为许多任务提供了命令,包括:查询数据,数
26、据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性,以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。 (3)是所有关系数据库的公共语言 由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是大多数关系型数据库用做查询语言的语言。它是可以移植的,并且容易学习使用,但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它
27、处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。 2.6 IIS简介 1、IIS的安装 WINDOWS 7提供的WEB服务器组件IIS的安装方法,在开始→设置→控制面板→程序和功能,单机左侧“打开或关闭Windows功能”,就会弹出如图2-1所示的WINDOWS功能对话框.在其中选择数字ERNET信息服务,然后单击确定按钮,即完成IIS的安装。 图2-1 IIS安装 2、添加新的网站 在启动数字ernet信息服务(IIS)管理器后,在“网站”单击鼠标右键如图(2-2),单机“添
28、加网站”命令,打开添加网站对话框,然后按照系统提示操作, 即可完成网站的创建 图2-2 添加新网站 第三章 需求分析 软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,管理软件需求分析尤其如此。 软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。
29、3.1 用户功能需求 为了系统的各模块功能够正常使用、系统更加人性化,还为了满足系统的实用性及安全性,本系统包含5个角色:游客,用户,管理员、超级管理员、版主。 (1)游客的各项功能: 游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论坛的用户,才可以执行用户的功能。 (2)用户的各项功能: 一旦成为本论坛的用户后享有以下功能: 1、用户注册 2、用户登录 3、发表文章 4、阅读文章 5、回复文章 6、个人资料修改 (3)管理员的各项功能: 1、修改管理员自己的信息 2、对帖子进行管理 3、进入前台以及退出后台 (4)超级管理
30、员的各项功能: 超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。 (5)版主的各项功能: 版主可以具有的功能如下: 1、对帖子进行删除加精 2、修改版块 3、查看版主信息 4、修改版主信息 3.2 数据需求 用户必须先注册后再登录进入系统,系统用户的数据包括用户名、用户密码、用户类型。用户名在整个系统中是唯一的。 用户浏览帖子时,数据应当包括用户名、帖子序号。用户根据某一主题可以发表帖子,发表帖子需要的数据包括用户名、版块编号、版块分类名、发表帖子标题、发表帖子内容、发表帖子类型。用户回复帖子的数据包括用户名、回复帖子
31、序号、回复的内容、版块编号、版块分类名。 管理员进入后台管理时,需要数据包括管理员ID、管理员密码、管理员的类型。管理员根据权限的不同分为普通管理员和超级管理员。 版主进去后台管理时,需要的数据包括版主名、版主密码、子版块名、版块编号。 第四章 总体设计 4.1 系统模块结构设计 BBS论坛系统(前台)的主要功能模块及其关系,如图4-1所示: BBS论坛系统(前台) 用户登录管理 用户信息资料管理 用户密码找回 主题帖子管理 用户注册管理 帮助与退出 浏览帖子 用户信息修改 发表话题 回复帖子 新用户注册 用户密码修改 后台登录 图4-
32、1 BBS论坛系统前台功能模块 根据BBS论坛系统前台的模块图可以得到系统的具体功能: ★ 用户登录管理功能:新用户注册成功之后,在登录界面输入正确用户名、密码之后便可以进入本系统。 ★ 用户注册管理功能:游客可以浏览论坛的主题话题但是不可以发表话题和回复帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。 ★ 用户信息资料管理功能:在用户登录成功之后,可以修改用户自己的信息,进一步完善用户资料和修改注册时用户填写的资料。 ★ 主题帖子管理功能:为了方便信息交流,用户可以发表话题,更可以根据帖子主题浏览帖子内容和回复帖子。 ★ 用户密码找回功能:用户可以按照注册时
33、填写的密码问题,修改自己的密码。 根据BBS系统功能分析和论坛管理的特点,需要设计BBS论坛的后台管理系,其主要功能模块如图4-2所示。 后台管理 超级管理员 管理员(版主) 版块修改 用户管理 帖子删除 帖子加精 用户权限修改 用户账户删除 图 4-2 BBS论坛系统后台功能模块 根据BBS论坛系统后台的模块图可以得到系统的具体功能: 一 管理员管理: ★ 管理员信息管理功能:管理员输入正确用户名、密码之后便可以进入到后台管理系统。可以查看自己的信息,和自己权限内的版块信息。 ★ 主题帖子管理功能:管理员可以对用户发表的帖子进行管理,管理员可以加精帖子
34、和删除帖子等操作。 二 超级管理员: ★ 版块管理功能:只有版主输入正确用户名、密码之后便可以进入到版主后台管理。版主根据版块的分类,修改版块信息。 ★ 用户管理功能:可以删除用户,可以对用户权限进行修改。 4.2 数据库设计 该系统采用Access2003作为后台数据库去存储所有与系统相关的数据。这些数据表包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo1)父版块表(foruminfo)以及管理员表(admininfo)。数据模型的最终目的就是规划能够有效地处理事务,并且保持应用开发的简洁性的关系数据库
35、,并在数据库的规范化、性能优化以及数据的简洁性之间达到平衡。 4.2.1 E-R图分析 4.2.1.1 ER模型 E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的ER模型。本系统的实体和属性的定义如下: 用户表(用户ID、用户密码、用户昵称、用户电子邮箱、用户级别、用户留言、用户自述、用户权限) 主题帖子表(主题帖子编号、主题帖子标题、主题帖子作者、帖子内容、发表帖子的时间、回复数、所属版块号、主题类型、是否加精) 回复帖子表(回复编号、回复帖子编号、回复作者、回复帖子时间、回复内容) 版块表(版块编号、版块名称、版块类
36、型、子版块编号、版主、主题数、文章数、版块描述) 管理员表(管理员ID、管理员密码、管理员电子邮箱、管理员自述、注册时间、管理员留言、管理员权限) 具体实体属性的关系图: 用户 用户留言 积分 用户邮箱 用户ID 密码 昵称 用户权限 用户自述 图 4-3 用户信息实体图 主题帖子 发表帖子时间 回复数 帖子内容 帖子编号 标题 作者 主题类型 所属版块号 图 4-4 主题帖子信息实体图 回复帖子 回复编号 回复帖子编号 回复内容 回复帖子时间 回复作者 图 4-5 回复帖子信息实体图
37、 版块 版块描述 版主 主题数 版块编号 版块名称 版块类型 文章数 子版块编号 图 4-6 版块信息实体图 管理员 留言 注册时间 管理员自述 管理员ID 密码 邮箱 管理员权限 图 4-7 管理员信息实体图 4.2.1.2 联系定义 ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型
38、之间是否存在联系,等等。 本系统的ER模型如图4-8所示: 浏览 主题帖子 所属 回复帖子 对应 版块 n m 1 管理员 管理 m m n n 用户 图 4-8 ER模型图 4.2.2 数据表设计 在这个数据库管理系统中要建立6张数据表,包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)、版块表(foruminfo1)以及管理员表(admininfo)。首先创建bbs数据库,然后在数据库中新建5个数据表。这5张数据表的各个字段意义如下所示。
39、 表4-1 回复帖子表(replyinfo) 字段名 数据类型 说明 id 自动编号 回复编号(主键) topicid 数字 主题号(外键) replyuserid 文本 回复者(外键) replytime 日期/时间 回复时间 replycontent 备注 回复内容 表4-2 主题帖子表(topicinfo) 字段名 数据类型 说明 topicid 自动编号 主题编号(主键) topictitle 文本 标题 topicuserid 文本 发帖人(外键) topiccontent 备注 发帖内容 t
40、opictime 日期/时间 发帖时间 replynum 数字 回复数 Bronum 数字 浏览数 forumid 数字 版块号(外键) jingpin 是/否 是否加精 4-3 版块表(foruminfo1) 字段名 数据类型 说明 mid 数字 版块编号(主键) Fmin 数字 父版块号(外键) name 文本 版块名 adminauthor 文本 版主 totaltopic 数字 主题数 tx 文本 图片路径 description 文本 版块描述 4-4 管理员信息表(admininfo)
41、 字段名 数据类型 说明 admname 文本 管理员ID(主键) admpwd 文本 密码 admemail 文本 邮箱 admstate 文本 自述 admtime 日期/时间 注册时间 admsay 文本 留言 admright 数字 权限 Question 文本 问题 Answser 文本 答案 表4-5 用户信息表(userinfo) 字段名 数据类型 说明 userid 文本 用户名(主键) userpwd 文本 密码 username 文本 昵称 Usergender
42、 文本 性别 useremail 文本 邮箱 userlevel 数字 级别 usersay 文本 留言 userstate 文本 自述 right 数字 权限 Userbirthday 日期/时间 生日 Question 文本 问题 Answer 文本 答案 Time 日期/时间 注册时间 表4-6 父版块表(foruminfo) 字段名 数据类型 说明 mid 数字 版块编号(主键) name 文本 版块名 adminauthor 文本 版主 tx 文本 图片路径 4.3系统流程图
43、用户 登录 是否登陆 回复帖子 管理员管理 主题浏览 帖子管理 版主管理 主界面 是 否 主页面 注册 后台管理 发表新帖 添加管理员 修改管理员资料 删除管理员 修改帖子 查看帖子 删除帖子 添加版主 修改版主资料 添加版块 图 4-9 主要功能流程图 各模块功能解释如下: 用户登录模块:新用户注册成功之后,在登录界面输入注册时填写的正确用户名、密码之后,再输入出现的验证码之后便可以进入本系统。如果用户名和密码正确,但是输入的验证码错误,则不允许进入本系统,跳转到登录界面重新输入。 用户注册模块:建立账号,如果游客以前没有建立账
44、号,则只可以浏览论坛的主题话题但是不可以发表新话题和回复有关帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。同时在用户创建新账号的时候,必须输入用户名(系统会在提交时检查该用户名是否已存在) 。用户在建立新账号之后就可以具有合法登录系统的身份,可以进行相关的操作。 用户信息资料管理模块:在用户登录成功之后,可以修改用户自己的信息,进一步完善用户自己的资料和修改注册时用户填写的资料。 主题帖子模块:为了方便信息交流,首先帖子主题类型分为精华主题(红色)和普通主题(黑色),用户可以根据需要游览自己感兴趣的帖子,获得所需信息。用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复
45、帖子。 管理员信息管理模块:管理员输入正确用户名、密码之后便可以进入到后台管理系统。管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。 主题帖子管理模块:管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。 版主管理模块:管理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块,来分担管理员的管理论坛的工作,可以更好的为广大用户服务。版主还可以修改自己的资料,添加本版块的子版块。 第五章 详细设计 5.1 用户登录模块 当游客注册成为本BBS论坛系统的用户后,便跳
46、转到系统登录界面,在系统登录界面(图5-1所示)输入正确用户名、密码和验证码之后便可以进入本系统。 图 5-1 用户登录界面 验证用户登陆的代码如下: <% ' *** Validate request to log in to this site. MM_LoginAction = Request.ServerVariables("URL") If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString) MM_va
47、lUsername=CStr(Request.Form("user")) If MM_valUsername <> "" Then MM_fldUserAuthorization="" MM_redirectLoginSuccess="/huiyuan/welcome.asp" MM_redirectLoginFailed="huiyuan/fail.asp" MM_flag="ADODB.Recordset" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection =
48、 MM_bbs_STRING MM_rsUser.Source = "SELECT userid, userpwd" If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & " FROM userinfo WHERE userid='" & Replace(MM_valUsername,"'","''") &"' AND userpwd='" &
49、Replace(Request.Form("psw"),"'","''") & "'" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then ' username and password match - this is a valid user Session("MM_Username") = MM_valUsernam
50、e If (MM_fldUserAuthorization <> "") Then Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session("MM_UserAuthorization") = "" End If if CStr(Request.QueryString("accessdenied")) <> "" And true Then MM_redirec
51、tLoginSuccess = Request.QueryString("accessdenied") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed) End If %> 5.2 用户注册模块设计 游客如果要在本BBS论坛系统发表帖子和回复帖子,游客必须在本论坛注册成为论坛的用户后,才能进行相关操作。 图 5-2 用户注
52、册界面 验证用户注册是否成功代码如下: MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit MM_abortEdit = false ' query string to execute MM_editQ
53、uery = "" %> <% ' *** Redirect if username exists MM_flag="MM_insert" If (CStr(Request(MM_flag)) <> "") Then MM_dupKeyRedirect="/huiyuan/zhycz.asp" MM_rsKeyConnection=MM_bbs_STRING MM_dupKeyUsernameValue = CStr(Request.Form("userid")) MM_dupKeySQL="SELECT userid FROM userinfo WHERE
54、userid='" & Replace(MM_dupKeyUsernameValue,"'","''") & "'" MM_adodbRecordset="ADODB.Recordset" set MM_rsKey=Server.CreateObject(MM_adodbRecordset) MM_rsKey.ActiveConnection=MM_rsKeyConnection MM_rsKey.Source=MM_dupKeySQL MM_rsKey.CursorType=0 MM_rsKey.CursorLocation=2 MM_rsKey.L
55、ockType=3 MM_rsKey.Open If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then ' the username was found - can not add the requested username MM_qsChar = "?" If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&" MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername
56、=" & MM_dupKeyUsernameValue Response.Redirect(MM_dupKeyRedirect) End If MM_rsKey.Close End If %> <% ' *** Insert Record: set variables If (CStr(Request("MM_insert")) = "form1") Then MM_editConnection = MM_bbs_STRING MM_editTable = "userinfo" MM_editRedirectUrl = "/huiyuan/zc
57、cg.asp" MM_fieldsStr = "userid|value|userpwd|value|username|value|useremail|value|usergender|value|useryear|value|usermonth|value|userday|value|userstate|value|question|value|answer|value" MM_columnsStr = "userid|',none,''|userpwd|',none,''|username|',none,''|useremail|',none,''|usergender|',
58、none,''|useryear|none,none,NULL|usermonth|none,none,NULL|userday|none,none,NULL|userstate|',none,''|question|',none,''|answer|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") ' set the form values For M
59、M_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next ' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0
60、And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If End If %> <% ' *** Insert Record: construct a sql insert statement and execute
61、 it Dim MM_tableValues Dim MM_dbValues If (CStr(Request("MM_insert")) <> "") Then ' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(
62、MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then
63、MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If
64、 End If If (MM_i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert 数字o " & MM_editTable
65、 & " (" & MM_tableValues & ") values (" & MM_dbValues & ")" If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute
66、MM_editCmd.ActiveConnection.Close If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If End If %> <% Dim Recordset1 Dim Recordset1_numRows Set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_bbs_STRING Recordset1.Source = "SELECT * FROM userinfo" Recordset1.CursorType = 0 Recordset1.CursorLocation = 2 Recordset1.LockType = 1 Recordset1.Open() Recordset1_numRows = 0 %> 5.3 帖子版块模块设计 帖子版块界面(图5-
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。