返回列表 发帖

[ASP] 谁有关于论坛的毕业论文

小妹做毕业设计,急需参考!!!

摘  要

为了方便专家与网友信息的交流,在结合动态服务网页(asp)和access2003 技术之下开发了这个快截、界面友好的健康交流平台。论坛使用动态服务网页(asp)技术建设论坛的骨干框架,使用access2003制作系统的数据库,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。
    该论坛功能较齐全,在这里可以自由地发表自己的健康心得和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,可以在线同专家们进行沟通交流,获得健康知识。
    经调试,这个论坛完全可以成为一个很好的专家同网友,网友同网友的交流平台,充分利用有限的交流时间,获得最大的知识量,同时又能愉快互动,使在交流健康知识的同时有一个愉快的心情。
关键词:动态服务网页,论坛,用户管理
















abstract

in order to facilitate the teachers and students information the exchange, in unified asp and access2003 under the server technology has developed this quick truncation, the contact surface friendly teachers and students alternating-current system. the forum uses the asp technology construction forum the backbone frame, uses the access2003 manufacture system the database, realized a function relatively complete forum system, the net friend has been possible freely to propose the question as well as helped other people to solve the problem, or exchange experience.
  this forum function is complete, may freely express own viewpoint in here and express the opinion to the forum subject, we also may promptly solve to net friend's question, gain to the oneself useful knowledge. this forum also has some special functions, like the on-line personnel demonstrates, the formidable search function.
  after the debugging, this forum definitely may become very good teachers and students to exchange the platform, the full use limited education resources, raise the resources use factor, at the same time can actively study the atmosphere, causes the study, the work to be more perfect.
keywords: active server pages, bbs, user management







目  录
第1章  绪论        1
1.1选题背景        1
第2章  系统技术及运行环境        3
2.1 asp技术简介        3
2.2 access2003 技术简介        3
2.3利用ado访问数据库        4
2.4 sql语句简介        6
2.5 iis简介        7
2.6 运行环境        8
第3章  需求分析        9
3.1 编写目的        9
3.2 任务目标        9
3.2.1 基本性能        9
3.2.2 开发目标        9
3.2.3 应用目标        10
第4章  总体设计        11
4.1系统设计思想        11
4.1.1网上论坛系统说明        11
4.1.2网上论坛系统总体分析        11
4.2数据库设计思想        12
4.2.1数据库的选择        12
4.2.2数据库设计        12
第5章  详细设计        16
5.1 用户注册功能        16
5.1.1人机界面        16
5.1.2 操作流程图        17
5.2 会员发帖功能        18
5.2.1人机界面        18
5.2.2 操作流程图        19
5.3 版主管理帖子功能        20
5.3.1人机界面        20
5.3.2 操作流程图        21
5.4 管理员管理论坛功能        22
5.4.1人机界面        22
5.4.2 操作流程图        23
第6章  编码实现        24
6.1选择编程语言        24
6.2 论坛注册功能        25
6.2.1代码实现        25
6.2.2测试        29
总  结        30
参考文献..........................................................31
致  谢        32


第1章  绪论
1.1选题背景
internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为internet上一种先进的,易于被人们所接受的信息检索手段,world wide web(简称www)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前internet上已有上百万个web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在internet中的广泛应用,web站点向用户提供的服务将越来越丰富,越来越人性化。
我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。
要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了microsoft access数据库作为odbc(open database connectivity )数据源,并以先进的ado(activex data objects)技术进行数据库存取等操作,使web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用dreamweaver_mx开发的关联规则采掘系统和利用iis+asp技术实现的个性化web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化web页面。二者通过数据库服务器和web服务器连接。
本文作者主要完成web服务器端的论坛管理、用户管理、帖子管理、数据库管理、论坛其他管理等设计、实现与完善以及整个实验网站的组织建立和测试工作。


第2章  系统技术及运行环境
2.1 asp技术简介
microsoft active server pages 即我们所称的asp,其实是一套微软开发的服务器端脚本环境。active server page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生html的程序代码。因此,只要用户浏览web站点并请求一个asp页,web服务器就可以处理相应的asp代码,生成html代码,然后将它传递到用户浏览器并显示出网页。
    asp程序的优点:
    1,asp使用vbscript脚本语言直接源于vb语言,秉承了vb简单易学的特点,掌管起来非常容易。
    2,无须编译,容易编写,可在服务器端直接执行。
    3,与浏览器无关,客户端只要使用可执行html码的浏览器,即可浏览asp所设计的网页内容。
    4,asp能与任何activex scripting语言相容。除了可使用vbscript或javascript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言。
    5,asp技术的处理速度相当快,并且其安全性也很高,asp的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
    6,asp的对象和组件:asp有7个固有对象这7个固有对象分别是request,response,server,application,session,asperror和objectcontext。
2.2 access2003 技术简介
access2003 就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。那么什么叫数据库呢?数据库(database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(record),而每条记录是由多个字段(field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理系统(database management system dbms)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。
    access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 excel 的电子表格,可以使数据库一目了然。另外,access 允许创建自定义报表用于打印或输出数据库中的信息。access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
2.3利用ado访问数据库
ado(activex data objects)是一种操作microsoft所支持的数据库的新技术。在asp中,ado可以看作是一个服务器组件(server component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ado技术。具体的操作步骤可以归纳为以下几步:
  1.创建数据库源名(dsn)
  2.创建数据库链接(connection)
  3.创建数据对象
  4.操作数据库
  5.关闭数据对象和链接
  每一步的作法如下:
  一、创建数据源名
  dsn(date source name)即数据源名称。我们知道,odbc是一种访问数据库的方法,只要系统中有相应的odbc驱动程序,任何程序就可以通过odbc操纵驱动程序的数据库。比如我们系统中有access的odbc驱动程序,那么即使我们没有access软件,也可以在我们的程序中对一个access的mdb数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出sql语句,odbc驱动程序就会帮我们做一切事情。我们在给odbc驱动程序传sql指令时,即是用dsn来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了sql server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置dsn就行了。由此可见,dsn是应用程序和数据库之间的桥梁。
  二、创建数据库链接(connection)
  链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。asp文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
server.scripttimeout="10"
set myconn = server.createobject("adodb.connection")
这条语句创建了链接对象conn,接下来:
connstr="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("db\bluetimes.asp")
myconn.open connstr
  这条语句打开链接,用到了dsn,本例为“connstr”。
  以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
三、创建数据对象(record set)
ado中的数据对象通常保存的是查询结果。record set是ado中最复杂的对象,有许多属性和方法。record set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:
  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 into tab1 values (1,2)”
  mconn.execute(rs)
  ‘执行插入操作
    五、关闭数据对象和链接对象
    在使用了ado对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。
  record set.close
  set record set=nothing
  ‘关闭创建的数据对象
  mconn.close
  set mconn=nothing
  ‘关闭创建的链接对象
2.4 sql语句简介
1,sql 语句简介
sql全称是"结构化查询语言(structured query language)",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为许多任务提供了命令,包括:查询数据,数据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取,保证数据库一致性和完整性,以前的数据库管理系统为上述各类操作提供单独的语言,而sql将全部任务统一在一种语言中。
(3)是所有关系数据库的公共语言
    由于所有主要的关系数据库管理系统都支持sql语言,用户可将使用sql的技能从一个rdbms转到另一个。所有用sql编写的程序都是可以移植的。sql是大多数关系型数据库用做查询语言的语言。它是可以移植的,并且容易学习使用,但是所有sql语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。
2.5 iis简介
1,iis的安装
windows 2000 server提供的web服务器组件iis的安装方法,在开始→设置→控制面板→添加/删除程序命,在添加/删除程序中选择→添加/删除window组件按钮,就会弹出如图2-1所示的windows组件向导对话框.在其中选择internet信息服务iis,然后单击下一步按钮,随后根据系统提示一步一步的操作即完成iis的安装。

图2-1 iis安装
2,iis虚拟目录的创建
在启动internet后,在'默认web站点'单击鼠标右键如图(1-2),在快捷菜单
中选择"新建"→"虚拟目录"命令,输入虚拟目录的名字,然后按照系统提示操作,
即可完成虚拟目录的创建。

图2-2 创建虚拟目录
2.6 运行环境
为了保证论坛管理系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即internet,也可适用于内部的局域网。其运行要求如下:
软件环境:
客户端: windows95/98/2000/xp,internet explorer(ie)等。
服务器端:windows nt/windows2000,internet information server (iis)4.0及其以上版本,ie等;或者windows98,personal web server(pws),ie等。
数据库:采用access,运行于服务器端。
硬件环境:
服务器 cpu:piii 500以上 ,内存:512m以上。
客户机 cpu:p200mmx以上,内存:32m以上。

第3章  需求分析
3.1 编写目的
随着人们生活水平的不断提高,人们的健康意识也在不断提高,人们需要的不只是生,更多的是健康的理念和健康的指导,本次设计将在网络上为人们提供一个健康咨询的平医台,为人们提供更好更方便的健康指导。
本系统将采用asp技术实现网上时时互动健康导航,人们可以通过本系统在网上轻松找到他所信赖的健康指导专家,与该专家进行互动咨询,也可以随时在网上留言咨询,人们还能够在网上随时看到有关健康的小帖士,如果人们有更好的健康理念可以在该系统进行广播,与人们分享他的经验。该系统将为人们节省很多寻医问药的时间,使人们在最短的时间内得到健康的指导。
3.2 任务目标
3.2.1 基本性能
系统包括主要的功能:新用户的注册,备忘密码,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言这些功能,可以应付一般的用户及具体的急需的健康知识的需要。

3.2.2 开发目标
这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间的交流。通过论坛,人们能够相互交流沟通,把疑惑和心得在论坛里公布,大家献计献策,对于现代健康知识达到一个共同学习,共同进步的目的。

3.2.3 应用目标
网上健康论坛系统是一个会员登录留言系统。网上游客能够浏览论坛上的帖子,并且能够注册成为用户。论坛注册会员能够修改自己的资料信息,申请版主,发表帖子,让大家积极参与讨论。论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作,会员管理以及论坛版主管理等等。




















第4章  总体设计

4.1系统设计思想
4.1.1网上论坛系统说明
此网上论坛可以实现:
     游    客:查看帖子、注册新用户。
   注册用户:查看帖子、发新帖子、在线发布信息、回复信息、修改个人资料、在线短消息。
     管理员:发布公告、帖子管理、论坛设置、版面管理、用户管理、数据库管理、查看用户资料、查看用户密码、批量删除帖子、批量移动帖子、论坛留言管理等。
4.1.2网上论坛系统总体分析
通过上面的功能说明,我们可以将论坛的制作分为四大部分:
  (1) 会员注册和登陆模块:这个模块的功能,就是新来网友可以填写注册资料 ,通过审核后便成为本论坛的正式会员,并可以以会员身份登陆论坛。
  (2) 版块及文章显示模块:显示论坛的各大版块和所有会员最新发表的一些文章主题。
(3) 发表文章模块:为会员提供发表文章的地方,以及回复主题等。
(4) 论坛管理模块:版主以上职务可以进行对文章处理,置顶,加精华,删除等,还有就是管理员对论坛进行综合管理。
了解了具体的功能需求后,就可以按模块的开始论坛的设计了。当然,这些模块的只是在功能上对论坛结构的划分,实际上并不能够完全的把他们独立出来
进行设计。对于这种较小的应用,也没有必要进行完全的模块化设计,在良好的规划下直接写程序代码或许来的更为简单一些。
4.2数据库设计思想
4.2.1数据库的选择
access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 excel 的电子表格,可以使数据库一目了然。另外,acces允许创建自定义报表用于打印或输出数据库中的信息。access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,access 作为关系数据库开发具备了许多优
点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
4.2.2数据库设计
(1)管理员表
编号        字段名        数据结构        说明
1        name        文本        用户名
2        pswd        文本        密码
3        bd        数字        权限标示

(2)用户表
编号        字段名        数据结构        说明
1        userid        数字        用户序号
2        name        文本        用户名
3        pswd        文本        密码
4        userinfo        文本        用户信息
5        email        文本        邮箱
6        sex        文本        性别
7        gxqm        文本        备注

(3)帖子表
编号        字段名        数据结构        说明
1        id        数字        帖子id
2        bd        数字        所属版块
3        zhuti        文本        主题
4        body        文本        内容
5        name        数字        用户名
6        riqi        日期/时间        发表时间
7        hits        数字        查看数
8        page        数字        页数
9        retime        日期/时间        最后回复时间
10        gonggao        数字        公告数
11        face        文本        表情

(4)置顶表
编号        字段名        数据结构        说明
1        id        数字        序号
2        name        文本        名字
3        neirong        文本        内容
4        riqi        数字        日期
5        tname        文本        版块名字
6        isnew        文本        最新帖

(5)地址表
编号        字段名        数据结构        说明
1        url        文本        上传地址
2        picurl        文本        图片所在路径
3        name        文本        文件名称

(6)版块表
编号        字段名        数据结构        说明
1        bn        数字        编号
2        bdname        文本        版块名字
3        bdinfo        文本        版块信息
4        picurl        文本        版快图片
5        pass        数字        浏览数

(7)短信表
编号        字段名        数据结构        说明
1        id        数字        编号
2        fuserid        数字        发信人
3        tuserid        数字        收信人
4        content        文本        内容
5        posttime        日期/时间        发送时间

(8)论坛其他管理表
编号        字段名        数据结构        说明
1        tl        文本        论坛名
2        c1        文本        脚本连接
3        c2        文本        空间名称连接
4        todaynum        数字        今日帖数
5        nyr        日期/时间        登陆时间







第5章  详细设计

5.1 用户注册功能
5.1.1人机界面
此部分是实现用户的注册功能。用户先阅读注册协议,同意协议后,通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员。



图5-1 注册
注册资料分必填资料和选填资料,用户只要把必填资料填写正确就可以注册了。用户名最多不能超过16个字符,而且不允许注册重复的用户名,当用户输
入想要注册的用户名后,可以点击后面的检测按钮检验是否该用户名已经被注册过。性别只能选择男或女其中一个。密码最多不能超过16位,两次密码必须输入一致,否则不可以注册。e-mail必须输入有效的邮箱地址,以便日后能使用到论文的各种功能。验证码是系统随即产生的,只要用户按照出现的数字输入进去就可以了。选填资料注册时可以不用填写,等注册成功后,可以在修改用户资料里随便修改。本论坛支持自定义外部头像,而且还支持签名等。用户注册成功后就可以使用会员所拥有的一切功能了。
5.1.2 操作流程图

图5-2 注册操作流程图
5.2 会员发帖功能
5.2.1人机界面
此部分实现会员的发帖以及回帖等功能。登陆的会员可以在允许会员发帖的版块进行发帖,还可以在普通版块进行回复主题帖子。游客只能浏览帖子,不能发表帖子和回复帖子。


图5-3 发帖

会员在开放的版块里如果想发表新的主题,便可直接点击发表帖子按钮。进到发表帖子页面后,首先要写自己想发表的主题,主题字数不能超过100汉字,主题可以选择话题类型,例如分享、原创、灌水、推荐、转贴等等。接下来可以选择帖子的表情,这个是放在帖子的前面。如果会员想上传图片等,就要选择文件上传了,大小每个不能超过200k,每天限制上传3个。正文不能超过15000字,字体、字号、字体颜色可以自己设置,正文还可以插入视频等。本论坛还为发帖者提供很多正问内容的表情,从而丰富了文章的活力。特殊内容是变相保护会员的发帖权益,发帖人可以设置内容为等级可见,即会员必须到达指定的等级才可以阅读;回复可见,即会员必须回复该主题才可以阅读;积分可见,即会员必须达到指定的积分才能阅读;登陆可见,即游客和没登陆的会员是不能阅读的,必须会员登陆后方可阅读等等。正文还可以设置投票选项,用于调查一下大家对
某某的一些见解。或是统计一下某某数据等等。正文写完后可以先点击预览,觉得不满意可以在不满意的地方再修改一下,直到满意后,便可点击发表了。回复帖子只针对会员开放,游客不可以回复主题。回复帖子有两种方式:一是快速回复,即简单的回复几句话,不能设置字体,没有表情,也不能上传文件等。二是高级回复,即回复内容比较全面,可以上传文件,可有表情,也可以设置字体大小颜色,段落格式。还可以象发表主题那样设置特殊内容回复可见,等级可见,积分可见等。
5.2.2 操作流程图
图5-4 发帖操作流程图
5.3 版主管理帖子功能
5.3.1人机界面
此部分主要是版主对论坛的帖子进行综合管理,删除、编辑、锁定、置顶、加精华等等。普通会员是不可以进行此操作的。


图5-5 管理帖子
版主只可以管理自己版块的帖子,对别的版块帖子不能管理。超级版主和管理员可以管理所有版块的帖子。版主可以把通知或版规等性质帖子置顶,以便引起大家注意。再不需要的时候可以取消置顶。对一些写的非常好的文章版主可以为其加精华,这样让大家多多关注好的文章,以便鼓励发帖者多多发表好的文章上来大家一起分享。当然对于不好的帖子或者就是灌水的帖子,严重的可以直接删除了,情节较轻的则可以将其锁定。对有些文章内容有地方不足时,版主可以对其进行编辑修改。版块里的帖子除了置顶的帖子,别的帖子都是按照发表时间和回复时间排列的,时间最新的帖子则排在最前面,时间越旧排的就越靠后面。有的文章内容比较好,或是值得大家注意一下,但又没必要置顶更没必要加精华,这样版主就可以使用提升功能,使其排在后面的帖子上升到普通帖子的最前面。这种提升和置顶的区别在于置顶的帖子一直排在最上面,无论别的帖子更新时间比它多新,都没有。普通帖子更新时间最新也是排在它的后面。而提升的帖子呢,
提升后是排在普通的帖子最前面了,但别的帖子只要在它被提升后更新了,那么别的帖子就会跑到这个提升帖子的前面了,依此类推。还有一项功能就是转移帖子,这是超级版主以上的职务才有此权限。对于某版块里用户的发的帖子不符合该版块的内容范围呢,而是属于另一个版块内容的,这时就可以把此帖子转移到符合其内容的版块里。
5.3.2 操作流程图


图5-6 管理帖子操作流程图


5.4 管理员管理论坛功能
5.4.1人机界面
此部分是实现管理员对论坛的后台管理,发布公告、添加删除版块、备份数据、任命撤消版主等等。


图5-7 管理论坛
首先对于前台的管理,大部分就是对帖子的管理,版主所有的权限管理员都有;其次就是对后台的专署管理,后台管理分5大模块。一是论坛常规设置,其中包括常规信息设置、公告管理、风格设置、友情连接管理、ip封锁与解除。二是论坛管理,其中包括论坛版面设置、版主设置、超级版主设置、管理员设置、后台密码修改。三是用户管理,其中包括用户删除与恢复、更改用户密码、修改用户资料、用户特殊设置、批量删除用户。四是帖子与留言管理,其中包括帖子批量删除、帖子批量移动、论坛留言管理、群发留言、帖子数据表管理、论坛回收站。五是其他操作,其中包括论坛整理、数据库、上传文件管理、执行sql语句。
5.4.2 操作流程图

图5-8 管理论坛操作流程图


















第6章  编码实现
6.1选择编程语言
近年来随着internet技术的飞速发展及用户需求的不断升级,web页面技术也不断的推陈出新,使得web站点的功能越来越强大,能够提供的服务种类越来越繁多。从html、client script 到cgi,从java的诞生到activex, web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考web页面设计的真正需要后,推出了active server pages (asp),一种用以取代cgi(common gateway interface,通用网关接口)的技术。简单讲,asp是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 web 服务器应用程序,如交互式的动态网页,包括使用 html 表单收集和处理信息,上传与下载等等。更重要的是,asp使用的activex技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的web编写工具所远远不及的地方。使用asp还有个好处,就在于asp可利用ado(active data object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于www的应用系统成为可能,这也是本文选择asp作为开发工具最重要的原因之一。
wsb服务器是web应用程序的心脏。iis(internet information server)是微软推出的windows nt option pack的主要成员,作为win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的web服务器之一。新推出的iis4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置java虚拟机及全面支持asp等强大功能。
在过去,客户机/服务器结构的设计与web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用iis+asp构成三层式web结构(如图2.1所示)的中间一层,将客户机/服务器结构与web密切结合,完成前后端两者的集成输出功能,使得web站点的开发更方便实现的功能更强大。
利用iis+asp技术来集成web前后端所带来的强大效益可归结为以下几个方面:
1. 减少构建和维护成本。
2. 加快联机过程。
  3. 应用软件集中在服务器端开发管理。
  4. 前端可使用任何浏览器(ie、netscape…..)。
  5. 后端可存取任何数据库 (sql、access…..)。
  6. 可使用任何脚本语言开发 (vbscript、javascript、perl…..)。
asp提供了6个功能强大的内部对象,每个对象具有各自的属性(property)、方法(method),有的还拥有数据集合(collection)与事件(event),它们共同完成web中的一些重要工作。
对象名称 功能描述
request 从客户端取得信息
  response 将信息送给客户端
  server 提供一些web服务器工具
  session 储存在一个session内的用户信息,该信息仅可被该用户访问
  application 在一个asp-application中让不同的客户端共享信息
  objectcontext 配合microsoft transaction服务器进行分布式事务处理

6.2 论坛注册功能
6.2.1代码实现
<%case"save"   ‘保存
dim  name,repassword,email,sex,burn1,burn2,burn3,burn,home,qq,gxqm,picw,pich,bbspic,mypic,toup ic      ‘定义一些变量
dim canreg,badwords,z,adminid,sickpass,userinfo,regtime,newuserinfo,bad,b
name=checkstr(request.form("name"))   ‘获取用户名
userpwd=checkstr(request.form("userpwd")) ‘获取密码
repassword=replace(request.form("repassword")," ","")  ‘获取重复密码
email=checkstr(request.form("email"))  ‘获取邮箱
if bbscon(7)=1 then
adminid=checkstr(request.form("adminid"))
else
adminid=0
end if
sex=checknum(request.form("sex"))  ‘获取性别
burn1=checkstr(request.form("burn1"))
burn2=checkstr(request.form("burn2"))
burn3=checkstr(request.form("burn3"))
home=checkstr(request.form("home"))
home=ubbg(home)
qq=checkstr(request.form("qq")) ‘获取qq号
gxqm=request.form("gxqm")
gxqm=checkstr(left(gxqm,255))
gxqm=replace(gxqm,"|","│")
gxqm=checkbad(gxqm)
picw=checkstr(request.form("picw"))  ‘获取图片信息
pich=checkstr(request.form("pich"))
mypic=checkstr(request.form("mypic"))
mypic=ubbg(mypic)
bbspic=checkstr(request.form("bbspic"))
canreg=true
if name="" or userpwd="" or repassword="" or email="" or adminid="" or sex="" then
canreg=false  ‘必填资料没填全
mes="•请填写完整必填的资料。<br>"
else
mes=""
if strlength(name)>16 then  ‘密码不能超过16位
canreg=false
mes="•你的用户名长度超过了16。<br>"
end if
if not pass_name(name) then
canreg=false
mes=mes&"•你的用户名含有非法字符。<br>"
end if
badwords=application(cachename&"badword")&"|自动送信系统|社区银行|管理员|版主|总版主|超级 版主"
badwords=split(badwords,"|")  ‘屏蔽一些语言
for z=0 to ubound(badwords)
if instr(name,badwords(z))>0 then
canreg=false
mes=mes&"•你的用户名含有论坛禁止使用的字词。<br>"
exit for
end if
next
if canreg=true then
if not conn.execute("select top 1 userid from [dunkuser] where name='"&name&"'").eof then  canreg=false:mes=mes&"•该用户名已经被注册了。<br>"
end if  ‘用户名必须是没被注册过的
if len(userpwd)>16 then canreg=false : mes=mes&"•你填写的密码长度超过了16。<br>"
if passc(userpwd)=false then canreg=false:mes=mes&"•你的密码含有非法字符。<br>"
sickpass=split("123$$1234$$12345$$123456$$1234567$$12345678$$aaa$$111","$$")
for i=0 to ubound(sickpass) ‘密码不能过于简单
if len(userpwd)<3 or userpwd=sickpass(i) then
canreg=false
mes=mes&"•你的密码属于弱口令,请更换密码。<br>"
exit for
end if
next
if repassword<>userpwd then canreg=false : mes=mes&"•你两次输入的密码不一样。<br>"
email=server.htmlencode(email)
if not isvalidemail(email) then canreg=false : mes=mes&"•你的e-mail填写错误。<br>"
if bbscon(7)=1 then
if session("adminid")<>adminid or not isnumeric(session("adminid")) then  canreg=false:mes=mes&"•你输入的验证码错误。<br>"
end if
end if
burn=burn1&"-"&burn2&"-"&burn3
if not isdate(burn) then burn="--"
if qq<>"" and (not isnumeric(qq) or (len(qq)<5 or len(qq)>12)) then  canreg=false:mes=mes&"•你的 qq 号码填写错误。<br>"
if mypic="" then
toupic="images/headpic/"&bbspic&".gif|"&checknum(bbscon(13))&"|"&checknum(bbscon(14))
else
if picw<>"" and checknum(picw)<=checknum(bbscon(11)) and pich<>"" and checknum(pich) <=checknum(bbscon(12)) then
toupic=mypic&"|"&picw&"|"&pich
else
canreg=false
mes=mes&"•你的头像大小设置错误。<br>"
end if
end if
if checknum(bbscon(15))<>1 and instr(toupic,"://")>0 then
canreg=false
mes=mes&"•本论坛不允许使用外部头像。<br>"
end if
if canreg=false then
mes="<b>对不起!你不能成功地注册用户,可能存在以下问题。</b><br>"&mes&"•<a  href='javascript:history.go(-1)'><img border=0 src=images/common/re.gif align=absmiddle>  返回重新填写。</a>"
elseif canreg=true then
tl="1"
mes="恭喜你!<b>"&htmlcoder(name)&"</b> 注册成功。<br>•<a href=login.asp>现在登陆论坛。 </a><br>•<a href=index.asp>进入论坛首页。</a>"%>
<!--#include file="inc/md5.asp"-->
<%
regtime=formatdatetime(now+timezone/24,2)  ‘获取注册时间
userinfo=email&"|"&home&"|"&burn&"|"&qq&"|"&sex&"|"&toupic&"|"&gxqm&"|"&regtime&"|"
set rs = server.createobject("adodb.recordset")
sql="select top 1 userid,name,pswd,userinfo,lasttime from [dunkuser]"
rs.open sql,conn,0,2
rs.addnew‘添加一条记录
rs("name")=name ‘添加用户名
rs("pswd")=userpwd ‘添加密码
rs("userinfo")=userinfo ‘添加用户信息
rs("lasttime")=regtime‘添加注册时间
rs.update ‘执行添加操作
userid=rs("userid")
rs.close ‘关闭记录集
set rs=nothing‘释放记录集
6.2.2测试
  先注册一个id为user的用户(先前数据库中无此用户名的),注册成功后,再注册一个id为user的用户!预期结果应该是系统提示该用户名已经存在。填写完整的资料后点击注册,此时系统按照预期结果提示该用户名已经被注册了。测试结果,系统正常按照设计模式运行。
总  结

bbs(bulletin board service,公告牌服务)是internet上的一种信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
    随着网络技术的飞速发展,论坛已经成为网络上不可缺少的交流方式之一,深受网民的喜爱。整个论坛系统使用browser/web模式来设计,服务器端采用access数据库系统和asp组件来构成论坛系统;客户端采用浏览器来完成系统维护和管理。
  1、 该论坛所实现的功能:
  用户注册、发帖、回复、发短消息、图片上传、帖子加精华。
  2、 论坛待完善问题:
  管理员发贴审核系统、邮件发送等。
经过这二个多月的毕业设计和对相关资料的收集,让我清楚的感到随着网络科技的不断发展和网络的广泛应用,使我们的生活离不开它了。网络它以自己的独特的优点征服了我们。在教育越来越受重视的21世纪,随着学生学习类型的不断增加和交流方式的不断提高,技术方面的工作量将会越来越大,在这样的情况下有一个实用的平台让老师和学生从中受益是有其必然性的,如果能做出一个完善的论坛交流系统就会使学生能更好的去学习。在这次的毕业设计中虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统。








参考文献:

[1]前沿电脑图像工作室 巧学巧用dreamweaver、fireworks、flash制作网页 北京:人民邮电出版社 2001
[2]李世杰 active server pages(asp)3.0 网页设计手册 北京:清华大学出版社 1999
[3]小志编著 asp入门与实例演练薄 中国青年出版社 1998
[4]毛一心等 access2003应用及实例集锦 北京:人民邮电出版社 2000
[5]教育部考试中心 数据库(access2003)教程 北京:清华大学出版社 2000
[6]李禹生 蒋利华等 access2003应用技术 北京:中国水利水电出版社 2000
[7]廖疆星 access2003数据库开发指南 北京:冶金工业出版社 2001
[8]李存珠 李宣东 软件工程概论.南京大学计算机系出版 2001年
[9]汪晓平 张宏林等 asp网络开发技术 北京:人民邮电出版社 2000
[10]宋颜浩,费文华 asp与相关数据库技术高级指南 北京:中国水利水电出版社 2002
[11]丁贵广,闫允一,孟繁杰  asp及asp.net编程基础与实例  第2版 北京:机械工业出版社 2004
[12]毛瓃骏编著 macromedia中国授权认证培训(atc)专用教程——macromedia dreamweaver mx动态网站开发标准教程  科学出版社 2001
[13]李海兵,杨晓亮  dreamweaver ultra dev动态网页设计 第2版 人民邮电出版社 2003
[14]龙马工作室编著 dreamweaver mx asp网页编程入门与范例制作 机械工业出版社 2001
[15]denning,d.e. .cryptograph and date security  addison-wesley  2001







致  谢

从十月份接受课题到现在完成毕业设计论文,衷心的感谢我的指导赵海侠老师给予了精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的数据库的设计阶段,导师提出许多宝贵的设计意见,在最后的测试修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我们得以顺利的完成毕业设计开发工作,在短暂的几个月的相处时间里,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意。
在短暂的4年大学时光里,同学和朋友们也给了我无私的帮助与支持,在此我对所有学习和生活上帮助过我的同学们表示深深的谢意!

TOP

返回列表

Powered by Discuz! 7.2   论坛QQ群:逐梦论坛群

© 2001-2021 Comsenz Inc. 鲁公网安备 37120302000001号