基于ASP技术和ACCESS的动态网页留言板实现Word文档下载推荐.docx
《基于ASP技术和ACCESS的动态网页留言板实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于ASP技术和ACCESS的动态网页留言板实现Word文档下载推荐.docx(27页珍藏版)》请在冰点文库上搜索。
3.3.1数据表11
3.4系统流程图设计13
3.5留言板系统详细设计14
3.5.1留言板首页设计14
3.5.2留言页面设计14
3.5.3管理员登录页面设计16
3.5.4管理页面设计17
3.5.5管理员注销页面18
四、留言板功能实现19
4.1留言板数据库的连接19
4.2留言板文件夹中文件的介绍19
4.3特色功能与实现20
4.3.1防止灌水功能20
4.3.2文字过滤功能20
4.3.3不良信息屏蔽功能21
五、结束语22
谢辞23
参考文献23
一、引言
随着网络技术的飞速发展,兴起了网络的热潮,一些公司正在积极建立自己的网站,一些大学也已经开设了网络相关的专业及课程。
同时网站的重要性也越来越重要。
而作为网站中交流的中心,留言板起到了至关重要的地位。
它有助于版主收集网站的反馈信息,也是客户通过网络收集信息的有力工具。
留言板在一个网站具有很重要的地位,随着上网的普及,留言板已经不是什么新鲜事物了。
本文主要介绍了用ASP技术和ACCESS技术来创建留言板的整个过程和代码的设计!
本留言板更注重安全和与网站融合,但也有自己独特之处。
相信通过本文的介绍,很快就学会了留言板的制作。
留言板是一种电子便签管理系统,是用ASP或其它脚本语言编写的网络应用程序。
在网络用户交流中起很大的作用,每个人都可以将他的资料和要求等信息保留在页面上,以供他人观看。
留言板供其他网友给自己留言,或者临时存放自己的感受。
留言操作相对简单,在您进入网站后,进入任何一个留言板或社区均可以看到有输入框,输入后提交即可。
留言板提供完备的信息发布功能,在网络用户交流中也有很大的作用。
而我的这个留言板仅仅是简单的留言和管理员对留言板进行设置和进行回复、删除管理的工具。
该留言板简单但实用,而且具备了大多数留言板的基本功能。
十分适合于中小型网站使用。
二、留言板设计原理
该留言板的整体设计遵循软件工程的方法,经过技术分析、总体设计、详细设计等。
而首先就应该进行技术可行性分析并选择适当的技术。
由于ASP技术发展已经比较成熟,而且使用人数也相当多,所以该系统主要采用ASP、SQL技术。
下面就对这两种技术做一个概述。
2.1ASP技术介绍
2.1.1ASP简介
MicrosoftActiveServerPages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。
ActiveServerPage是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。
而且ASP也是服务器端脚本环境,可以用来创建交互式WEB页并建立强大的的Web应用程序。
因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。
ASP内含于IIS4.0和5.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。
有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。
当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
ASP包括了5个内置对象:
①Request对象,从浏览器获取信息;
②Response对象,发送信息到浏览器;
③Server对象,控制ASP执行情况,对服务器端ActiveX控件起作用;
④Session对象,存储用户任务的信息;
⑥APPlication对象,使多用户共享一个程序的信息。
网站内容的动态化、数据库化是Internet网站发展的必然趋势,ASP以其简单、高效的开发方式及丰富的控制手段为Internet网站的开发应用提供了强有力的支持。
2.1.2ASP技术的优点
作为网络上十分流行的编程语言,一定会具有很多独特之处,而ASP也不例外,它具有以下优点:
1、编写程序方便。
您可以用VBScript或JavaScript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。
对于VBScript和JavaScript,使用哪种语言并不重要,Web服务器等同地处理这两种语言,并向用户的浏览器发送HTML格式化结果。
由于ASP采用Script语言,就可以轻松编写程序,因此这就大大节省了网络设计人员又得重新学习一种新语言的时间。
而且编写ASP无须手工compile编译或链接程序,可在服务器端直接执行,这无疑是更加方便了我们的编写过程。
2、使用编程环境方便简单。
可以使用普通的记事本之类的文本编辑器,即可进行编辑设计,如:
Windows的记事本、FrontPage等文本编辑器。
也可以用Dreamweaver和专业的MicrosoftVisualInterDev开发工具。
3、浏览网页方便,交互速度也快。
ASP是运行在服务器端,所以我们无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览ActiveServerPages所设计的网页内容。
ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
4、提供多种编程语言。
ASP能与任何ActiveXscripting语言相容。
除了可用VBScript或JavaScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如Perl等。
5、提高代码的安全性。
ActiveServerPages的程序代码隐藏,已编码的脚本在运行时由脚本引擎解码,因此不需要单独的应用程序。
客户端上仅可以看到由ASP输出的动态HTML文件。
因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
6、功能强大。
编程是面向对象的(Objectoriented),并可扩展ActiveXServer组件功能。
ActiveXServerComponents(ActiveX服务器组件)具有无限可扩充性。
你可以使用任何编程语言来编写你所需要的ActiveXServer组件。
可以使用VisualBasic、Java、VisualC++、COBOL等编程语言来编写你所需要的ActiveXServerComponent。
也可以使用第三方组件或自己开发的ActiveXServer组件。
理论上说,可以实现任何功能。
7、访问数据库十分方便。
可以通过ADO(ActiveXDataObjects,微软的一种新的数据访问模型,是一种可以提供WEB页面开发者轻松存取Internet的数据库,并可以在用户端实现网上立即、即时更新显示的最新WEB页面数据库技术。
)非常方便地访问数据库。
总之,ASP从字面上说,包含三方面含义:
1.Active:
ASP使用了微软的ActiveX技术。
ActiveX(COM)技术是现在Microsoft软件的重要基础。
它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。
ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。
只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。
2.Server:
ASP运行在服务器端。
这样就不必担心浏览器是否支持ASP所使用的编程语言。
ASP的编程语言可以是VBScript和JavaScript。
VBScript是VB的一个简集,会VB的人可以很方便的快速上手。
然而NETscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。
而在服务器端,则无需考虑浏览器的支持问题。
NETscape浏览器也可以正常显示ASP页面。
3.Pages:
ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。
浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。
这样就可以防止别人抄袭程序。
由此可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。
在了解了VBScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
而我这次所开发的留言本系统,主要是利用ASP技术的简单和实用的特点,以及ASP使用的广泛性,而且非常适合于网络中小型系统开发。
2.1.3ASP技术的特点
在使用ASP技术时应遵循这样一个原则:
即ASP脚本必须与基于COM标签的组件配合使用才能开发出具有实用价值的动态web应用程序。
基于组件,可以把应用程序的开发分成两大类任务:
一类是开发能被很多程序使用的核心组件;
另一类是集成这些核心组件提供的服务,构造出实现特定功能的应用程序。
Microsoft及一些“中间件”厂商已针对不同的应用领域提供了许多组件产品,组件的使用者只需要理解组件的接口,不需要知道组件的内部结构和组件使用的数据。
在ASP技术中,ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件集成在一起,以形成最终的软件产品。
利用组件,开发人员可以专门做自己最擅长的工作,从而减少开发难度;
利用组件,还有助于开发人员将用户界面与应用逻辑、数据服务分开,快速开发出可重性高的基于三层客户/服务器结构的web应用程序。
综上所述,ASP具有如下一些特点:
(1)使用普通的文本编辑器(如记事本)即可进行编辑设计;
(2)ASP脚本无需编译,容易编写,可在服务器端直接解释执行;
(3)与浏览器无关,用户端只要使用可执行HHML码的浏览器,即可浏览ASP所设计的页面;
(4)面向对象,在ASP脚本中可以方便地引用系统组件和ASP内置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能;
(5)ASP的源程序不会被传到客户端,因而可以避免所写的源程序故他人窃取,也提高了程序的安全性;
(6)与任何ActiveXScripting语言兼容,除了可使用VBScript和JScript语言进行设计外,还可通过Plug_in的方式,使用由第三方提供的其它Scripting语言来扩充功能。
2.2ACCESS介绍
留言板有了使用环境,接下来就该选择合适的数据库。
由于数据库对整个留言板的管理和运作起到置关重要的作用,所以选择数据库成为了重中之重。
在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。
而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选。
而将Access作为我留言板的数据库,也是考虑到了以下几点:
1.Access数据库使用简单,可以迅速掌握。
2.Access数据库的ODBC驱动程序支持的SQL指令全。
ACCESS具有强大的数据库功能,结构简单、理论基础坚实、独立性高。
适合开发中型管理系统。
3.用Access数据库开发的程序转化为SQLServer数据库也非常简单,只要用SQLServer的导入功能将Access数据库转化为SQLServer数据库。
而对于数据库语句,因为采用的是标准的SQL语言,读取Access数据库和读取SQLServer数据库基本上是一样的,只要改写一下连接数据库的语句。
4.整体说来ASP与ACCESS的结合使得系统的开发简单、快捷、操作方便、易于系统管理和系统维护,而且执行效率高,且配置简单、移植方便。
2.3SQL介绍
SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。
如今无论是像Oracle,Sybase,SQLServer这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
SQL广泛地被采用正说明了它的优点。
它使全部用户,包括应用程序员、DBA管理员和终端用户都受益非浅。
其主要特点包括:
1.一体化语言:
用SQL可以实现数据库生命周期中的全部活动,包括简单的定义数据库和表的结构,实现表中数据的录入、修改及查询、维护、数据库重构、数据库安全性控制等一系列操作要求。
2.非过程化语言
SQL是一个非过程化的语言,它不必一步步的告诉计算机“如何”去做,用户只需要说明做什么操作,而不用说怎么做,不必理解数据存储的格式及SQL命令的内部,就可以方便的对关系数据库进行操作。
这不但大大减轻用户负担,而且有利于提高数据的独立性。
3.面向集合的操作方式:
非关系数据库采用的是面向记录的操作方式,操作对象是一条记录。
而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
4.灵活、方便
SQL语言既是自含式语言,有是嵌入式语言。
作为内含式语言,它能够独立的用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;
作为嵌入式语言,SQL语句能够嵌入到高级语言。
例如c程序中,提供给程序员设计程序时使用。
而在两种不同的使用方式下,SQL语言的语结构基本上是一致的。
这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。
5.语言简洁:
虽然SQL的功能很强大,但由于设计巧妙,语法却很简单,只有很少的几条命令,易学易用是它最大的特点。
三、留言板系统分析及设计
3.1留言板系统的概要设计
3.1.1系统的开发环境
基于微软平台ASP环境,使用ACCESS数据库。
适用于IE4.0以上版本浏览器,Win98+PWS、Win2000+IIS或WinXP+IIS以上运行环境。
(本人用的WinXP+IIS5.1测试)。
3.1.2ASP语言选择
选择一个好的编程语言十分的重要,当前,面对众多的编程语言,很多人无从选择,而本人看到asp的以上众多特点,个人认为:
Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式。
在这种使用模式中,ASP程序无疑是最重要的,是沟通客户端和后台数据库之间的桥梁。
在ASP程序中,通过VBScript,建立对Access数据库的连接,是客户能够访问后台数据库的前提。
鉴于前面介绍ASP优点的原因,又有上面组合的优势,本人的留言板使用asp语言也是十分正确而实用的。
3.1.3数据库的选择
留言板有了使用环境,接下来就该选择合适的数据库。
3.2系统的功能
3.2.1系统功能模块设计
根据对系统的分析,系统模块的结构图,如图3.1所示。
图3.1系统模块的结构图
后台模块结构图如图3.2所示。
图3.2后台模块结构图
3.2.2系统功能
该留言板具有的主要功能如下:
1、可以按照发言时间的先后顺序,留言板自动排序;
2、友好简洁的管理界面,便于管理员维护留言板;
3、管理员具有回复和删除留言的权限;
4、管理员可以修改留言板页面的名称和网址以及每页显示的留言数;
5、拥有更多留言者的信息,包括名字、地方、QQ号等;
6、留言板系统具有防灌水功能;
7、具有页数跳转功能;
8、具有防止留言客户非法进入管理界面功能。
3.3数据库设计
数据库设计是项目开发中的系统设计中非常重要的一个关键环节,之所以强调数据库的重要性,是因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中,将会引起比较大的问题,会遇到非常大的困难,大量工作将会重新进行。
接下来就应该进行详细设计了。
我的数据库采用的是ACCESS数据库,采用的原因也已经介绍了。
以下就介绍留言板数据库的组成。
3.3.1数据表
1.数据库整体介绍:
留言板数据库总共有3张表,具体如下:
表3.1各数据库表的说明
数据库表名
说明
表的作用
admin
用来存放管理员的名字和密码
管理登陆
guest
用来存放用户的信息和留言
管理用户信息
information
用来表明该留言板的相关信息
留言板的相关信息
2.数据库各个表的介绍:
下面将介绍各数据表的数据库设计及详细说明:
表3.2管理员信息表admin
字段名称
数据类型
id
自动编号
编号
adminname
文本
管理员名字
adminpass
管理员密码
该表用来存放后台管理员的用户名和密码。
表3.3用户留言表guest
访客留言编号
name
访客名字
come
访客来自哪里
title
访客留言的主题
qq
访客的qq号
content
备注
访客留言的内容
reply
版主回复内容
dateandtime
日期/时间
访客留言的时间
该表用来存放用户的信息和留言。
表3.4留言板信息表information
留言板名字
url
留言板主页
home
留言板所在网站主页
num
留言每页显示记录数
badid
屏蔽使用的呢称
badwords
屏蔽使用的字符
该表用来表明该留言板的相关信息。
3.4系统流程图设计
根据系统总体设计的要求,首先我们的后台系统要有一个登陆界面,管理员才可以从这个界面登陆到管理系统后台当中去。
在管理员正确输入用户名和密码后,接着应该进入后台的管理界面,在这个界面上,会得到相应的权限服务。
系统流程图如图3.1所示。
图3.1系统流程图
3.5留言板系统详细设计
详细设计是整个设计过程中最重要的步骤之一。
3.5.1留言板首页设计
留言板的首页文件index.asp,功能主要是为访客留下相关的信息,并进行留言,以及管理员进行删除和回复留言。
界面相对简单,但功能很实用!
留言板的基本功能实现具体如下:
1.在留言中,最重要是要保留留言用户的相关信息和留言内容,我将其放入guest数据库中。
2.对于访客的留言功能,则是交给了add.asp文件执行。
3.对于删除留言功能,我又做了一个delete.asp文件,通过连接数据库,在利用超联接将对留言的删除操作从index.asp转到delete.asp文件中去执行。
4.关于版主的回复,还是通过超连接从index.asp转到reply.asp文件中去执行的。
由于首页是进行修改和查看留言本的主要阵地,是进行一切管理和体现大部分功能的地方,所以特别的重要。
3.5.2留言页面设计
留言页面主要有留言区域和留言显示区域两个部分构成。
1.主页中留言的页面,供访客发布留言,如图3.2所示:
图3.2主页留言的页面
填写留言信息提交后转到add.asp页面处理实现数据添加,关键源码如下:
<
%
name=request.Form("
name"
)
come=request.Form("
come"
title=request.Form("
title"
content=request.Form("
content"
qq=request.Form("
qq"
dateandtime=request.Form("
dateandtime"
ifcontent<
>
"
then
setrs=server.CreateObject("
adodb.recordset"
rs.Opensql,con,1,1
sql="
in