1、 1动态 ASP 论坛的设计与实现【摘 要】 随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营效等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,论坛提供了一个全新的人类沟通新方式。本文主要分析了论坛的主要组成情况,包括论坛的设计目标,框架结构,数据流程和论坛的主要特点等,重点介绍了论坛前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。【关键词】ASP 语言 ACCESS 数据库 HTML 语言1 .
2、 开发背景进入 21 世纪以后,知识经济的飞速发展对我们的社会产生了巨大的影响。IT 业的飞速发展不仅仅带来了巨大的经济效益,也在逐渐改变着我们的生活,其中影响最为广泛的就是互联网了。从事 IT 业工作的人都知道,互联网蕴藏着巨大的“金矿” ,如何从这个巨大的财富中获得一份属于自己的财富,需要的不仅仅是努力和勤奋,更多的是知识和技术,只有掌握了知识和技术才有可能成为知识经济时代成功的淘金者。近年来,随着 Internet 的迅猛发展,远程信息、网上聊天、分布式多媒体系统、电子商务等网络应用系统的相继问世,为信息处理的网络化展示了美好的前景。目前呈几何增长的互联网网站中,有相当一部分仍固守“静态
3、”,无形中已大大落后于时代的步伐。所谓“静态”指的就是网站的网页内容“固定不变” ,当用户浏览器通过互联网的 HTTP(Hypertext Transport Pr otocol)协议向 WEB 服务器请求提供网页内容时,服务器仅仅是将原已设计好的静态 HTML 文档传送给用户浏览器。其页面的内容使用的仅仅是标准的 HTML 代码,最多再加上流行的 GIF89A 格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若网站维护者要更新网页的内容,就必须手动地来更新其所有的 HTML 文档。2“静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作 HTML 文档,随着网
4、站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。1.1 所谓“动态”就是指具有以下几个特点的网站1).“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后 WEB 发展的大势所趋。2).“自动更新”即无须手动地更新 HTML 文档,便会自动生成新的页面,可以大大节省工作量。3).“因时因人而即当不同的时间、不同的人访问同一网址时会产生不同的页面。这种具有动态特性的网站的典型代表就是-论坛.1.2 系统实用功能分析随着时代的进步,人们对网络的要求也越来越高,论坛就是在这种背景下诞生的。它不仅包含了网站原有的特点,还可以让人们在浏览网页的情况下还可以发
5、表自己的观点,其实这只是最基本的,它还有许多优点。1.3 用户功能1).发帖时自动记录用户名,Email,网友无需每次都输入。2).用户个人信息记录,密码提示功能,当用户忘记密码时,可以由密码提示功能获得密码。3).实现用户头像功能,您可以象 QQ 一样,选择自己喜欢的头像图标。4).查询与更改密码、个人信息,及他人信息。5).实现游客浏览功能,你即使不进行注册,同样可以浏览帖子内容,但要发言必须注册。缓存保存用户名和密码功能,勿需每次发言都要填写一次,为用户提供方便。1.4 版主功能1).版面显示版主主页地址(版主只需在个人信息中维护自己的信息,输入主页地址即可。32).版主登录之后可以进入
6、版主管理菜单,可以管理论坛版面,管理精华区域,版主帖子查询,编辑版面说明等功能。 1.5 查询功能 我们的论坛系统具有超强帖子查询功能,可以根据您感兴趣的内容快速获得信息。您可以:1).按发言人、主题、内容的查询;2).按帖子的 ID 查询;3).查询最新 50 帖;4).支持多条件复合模糊查询功能。1.6 统计功能1).显示论坛当前注册总人数、当前帖子总数、帖子点击总数、当前在线人数。 2).论坛排行榜,对各个版面的点击数、文章数进行排序。3).用户表现积分排行,调动用户积极性。帖子点击统计,方便了解热点话题。本日版面排行榜,本日作者排行榜。1.7 帖子功能1).显示帖子发表日期,点击数,字
7、节数,回复帖子数,新帖图形提示, 24 小时内新帖一目了然。2).设定帖子内容最大允许的字节数。是否允许显示前帖内容(如同回复 EMAIL 一样回复帖子) 。回复帖子 EMAIL通 知功能,自动将帖子内容和相关链接寄回被回复人的信箱中。多版面设置,每个版面可以有自己的版主、主页连接,可以独立显示单一版面。1.8 版面功能1).具有强大的分页查看工具条,帖子列表支持分页显示,轻松查看所有帖子。 42).帖子层次列表,结构清晰,一目了然。 1.9 其他功能1).全面转化 HTML TAG,方便讨论主页设计、 Web 编程,同时可以有效防止使用脚本语言进行攻击。2).类似于 FrontPage、Dr
8、eamweaver 论坛内容编辑器,以方便网友使用 HTML 格式显示帖子内容。此功能代码部分参考了 UBB 代码。UBB 代码是 HTML 的一个变种,是Ultimate Bulletin Board (国外一个 BBS 程序,国内也有不少地方使用这个程序),采用的一种特殊的 TAG 来达到 HTML 的效果或实现其他的功能。如图所示图 1-1图 1-12 . 系统设计2.1 相关术语解释1).HTML 语言在网上发布消息,必须使用一种每一台计算机都能够识别的语言,这就是 HTML(HyperText Markup Language) ,超文本语言。自从上一个世纪 905年代 Web 网络的
9、迅速发展,这种语言空前繁荣。到 1997 年 1 月,随着 HTML 3.2 的推出,HTML 语言得到了很大的发展,但是有些问题始终难以解决,比如对各种平台和各种浏览器都兼容,等等。因此,人们希望能够设计出一种HTML 语言,使其能够尽量反映各个行业的需求和满足不同人群的需要。在开发的同时也充分考虑到网络上各个方面的使用环境,比如蜂窝电话,手提设备和输入输出的语音系统等等环境。在 1998 年 4 月 24 日,这一愿望终于实现了,W3C 标准化组织发布了 HTML4.0,将原先的 HTML 扩展到一些全新的领域,例如样式表单,Script 语言,内嵌对象,框架结构甚至赋予残疾人使用网络能力
10、等新的功能。这一技术即使到了新的世纪也仍然具有划时代的意义。使用 HTML 语言可以赋予网络设计者许多强有力的工具,比如.使用各种基础的印刷元素例如标题、文字、表格、列表、照片、插图等来发布在线的文档。.通过超文本链接可以使用户方便地在各种信息之间切换,就像单击一个按钮一样简单。.设计一种表单控件控制网络上的各种传输、远程服务等功能,就像查询信息、订购货物等。.在文档中直接包含视频剪接、效片断、各种脚本程序和另外的许多对象,比如 Flash 和 Active 控件。以上的这些功能是一般的文档不能完全做到的。这些优势使得 HTML 成为网络上使用的事实标准。2). ASP 语言在网络程序设计中,
11、 ASP(Active Server Pages)是服务器端的一种未经编译的开放式程序,程序设计者可按 ASP 的要求来编写功能强大的网络应用程序,并实现服务器端的数据处理及数据上传与下载。这种程序通常被称作“ASP 程序” (或“ASP 页” ) 。一个 ASP 程序通常包括 HTML 标签语句、文本和脚本程序等。由于这类程序是以“.asp”为扩展名存放的,因此对应的文件可称作“ASP文件” 。6ASP 程序是运行于网络服务器端的一种应用程序。在计算机硬件配置允许的情况下,如果希望运行 ASP 程序,应当安装一个能够支持网络服务器的操作系统。常见的网络服务器操作系统有个人网络服务器 PWS(
12、Personal Web Server)和因特网信息服务器 IIS(Internet Information Server) 。严格地说,ASP 不是一种编程语言,而是一种开放式的编程环境。它的数据传送和数据处理功能要通过具体的程序设计语言来实现。将脚本语言VBScript(或者 JavaScript)与 HTML 语言有机地结合起来,就可以构成这种编程环境。因此,一个 ASP 程序的语句串,部分来自于脚本语言,部分来自于HTML。其中,用 HTML 语言设计的程序称作 HTML 文档,是由客户端浏览器解释执行的一种程序;用脚本语言设计的部分,则是专职服务器来运行的。3). ACCESS 数据
13、库数据库的管理系统就是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为“数据库管理系统“,它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员。我们将要学习的 Access 也是一种数据库管理系统。2.2 论坛前台构架毕业设计论坛是用 ASP+ACCESS(后台数据库)制作而成的 ,这个论坛的前台界面大体是用一个个系统模块组装而成的。具体的示意图 21 所示:7图 2-12.3 论坛前台实现的功能用户登陆系统:毕业设计论坛在前台实现了用户登陆系统,当你把用户名和密码输入进去,系统会自动和数据库的用户和
14、密码进行核对,如果一样就登陆进去,如果和原始资料对不上就提示你进入注册页面进行注册,注册成功的话会自动把你的用户名和密码输入到后台数据库里面,下次不用注册直接登陆就可以了。论坛的登陆系统如图所示8图 2-2当你成为用户进入论坛时,他会显示你的个人资料及你的功能:修改我的资料,我发起的主题,我参与的主题,上传我的头像,我上传的文件,发送论坛短信,我的论坛权限,我的论坛收藏,我的论坛好友。论坛的个人信息如图所示图 2-3在基本资料里面你可以看到你的个人资料并且可以修改,这样可以使用户对自己的资料随时随地的修改,避免了写完后不能修改的遗憾。联系资料则是提供了电子信箱,OICQ 号码,ICQ 号码,M
15、SN 帐户,个人主页等的联系方式,如果你要修改他,必须要先正确输入密码才可以,这样避免了有些人恶意改动别人的联系方式。修改密码则是发现自己的密码被别人知道后,处于安全的考虑提供了让用户自己改动密码的功能。在这个论坛里,你不但可以浏览网页,还可以像 QQ 那样给别人留言,也可以加别人为好友。但是普通用户也有自己的权限,那样就可以区分版主和普通用户。除了这个登陆系统外,这个论坛还设计了以下几个版块:站务管理,技术交流,天方夜谭,用户网络信息 。 在这几个版面里,你不但可以对你感兴趣的帖子进行留言,而且可以发表自己的主题,等待其他网友对你帖子的评论。它的功能如图所示图 2-4前台功能版块9站务管理的
16、版面如下图 2-5技术交流如下图 2-6天方夜谭如下图 2-7在上面我们已经把登陆和注册这个系统已经讲清楚了,下面我们把搜索,论坛状态,论坛风格,繁体中文再简单介绍一下 在搜索里面你可以找到你所要查询的帖子,只要你输入了关键字就可轻松查阅到,不用在到处乱找,减少了不必要的时间。具体操作如图所示10在论坛状态里通过今天在线图例,主题数图例,整帖数图例,当前在线图例,当前在线情况,用户在线图例,你可以清楚的了解到论坛当前的情况。今天在线图例:显示了当天所有版块发帖的数量。主题数图例:显示了所有版块发帖的数量情况。整贴数图例:显示了当天的发帖数量。用户在线图例:显示了当前不同等级的用户的数量。当前在线图例:显示了当前所有版块的用户数量情况。当前在线情况:它提供了在线用户的计算机系统信息和他的 IP 地址,还有他的活动时间。通过上面简单的描述,我们已经把这个论坛前台功能已经讲清楚了,现在我们就该叙述一下后台的数据库管理了。3 . 系统后台数据库设计3.1 后台数据库构架前面已经把数据库对大家做了一个简单的介绍,相信大家对数据库有了一个新的认识。现在就对毕业设计论坛的后台数据库的功能和流程做一个详细的介绍。首先来看一下该后台数据库的关系图