1、引 言网站(Website)是指在因特网上,根据一定的规则,使用 HTML 等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。在因特网的早期,网站还只能保存单纯的文本。经过几年的发展,当万维网出现之后,图像、声音、动画、视频,甚至 3D 技术开始在因特网上流行起来,网站也慢慢地发展成我们现在看到的图文并茂的样子。通过动态网页技术,用户也可以与其他用户或者网站管理者进行交流。也有一些网站提供电子邮件服务。许多公
2、司都拥有自己的网站,他们利用网站来进行宣传、产品资讯发布、招聘等等。随著网页制作技术的流行,很多个人也开始制作个人主页,这些通常是制作者用来自我介绍、展现个性的地方。也有以提供网络资讯为盈利手段的网络公司,通常这些公司的网站上提供人们生活各个方面的资讯如时事新闻、旅游、娱乐、经济等。- 2 -第一章 所用开发语言简介1.1 ASP 的特点ASP 是一种未经编译的开放式的应用软件,是微软公司推出的一种用以取代CGI(公共网关接口即 Common Gateway Interface)的技术,它实质上是一种服务器端脚本环境。ASP 被包含在 IIS 3.0 及其更高版本之中。通过 ASP,用户可以结
3、合 HTML 网页、ASP 指令和 ActiveX 组件建立动态、交互且高效的 Web 服务器应用程序。ASP 的出现使用户不必担心客户端不能正确运行所编写的代码,因为所有的程序将在服务器端执行,包括所有内嵌的普通 HTML 中的脚本程序。客户端只要使用可执行 HTML 代码的浏览器,即可浏览通过 ASP 设计出来的页面内容。当程序执行完毕后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP 并不是一种纯粹的编程语言,它所用的语言是大多数人都非常熟悉的两种脚本语言,即 VBScript 和 JavaScript 语言。在一个 ASP 应用程
4、序中可以用其中一种脚本语言,也可以结合这两种语言使用。另外 ASP 还能与任何 ActiveX Scripting 语言相兼容。ASP 使用的 ActiveX 技术是基于开放设计环境的,用户可以使用 Visual Basic、Java、等编程语言将自己定义和制作的组件加入其中,是自己的动态网页具有无限的扩充能力,这是传统的 CGI 等程序所远远不及的地方。另外,ASP可利用 ADO(Active Data Object,微软公司的一种数据访问模型)方便地访问数据库,从而使得开发基于 WWW 的应用系统成为可能。ASP 的编辑环境要求非常简单,任何一种文本编辑器都可以编写 ASP 应用程- 3
5、-序。使用 ASP 开发网页应用程序具有以下一些特点:(1)完全内嵌,与 HTML 和 Script 语言充分结合。(2)无需编译,容易编写,可在服务器端直接运行,且 Web 程序开发时间短。(3)无浏览器兼容问题。(4)程序代码隐藏,在客户端只能看到由 ASP 输出的动态 HTML 文件。(5)使用任何文本编辑器都可以进行编辑设计。(6)可使用任何语言编写自己的 ActiveX Server 组件。(7)使用 ADO 组件轻松存取数据。(8)面向对象,并可扩展的 ActiveX Server 组件。一个以 ASP 为基础的应用程序包含了 Web 服务器的虚拟目录(Virtual Direct
6、ory)以虚拟目录下的所有文件夹与执行文件。虚拟目录主要是为了保护服务器端站点的内容和资料,避免受到网络黑客的恶意破坏和攻击而产生的。在提供 WWW 服务的服务器端,虚拟目录的作用是不让客户端用户知道一些目录与重要文件的真实路径,也就是说每一个绝对路径(即真实路径)都已经隐藏起来,这些可以供网络客户访问的 Internet 资源都会以服务器的文档根目录(Document Root)作为相对路径的基点(Base) ,或者另取一个从表面上看来毫无关系的别名(Alias Name)来隐藏真实目录名称。这些相对目录就称为虚拟目录,相对路径和绝对路径是相对立的。另外,每个 ASP Web 应用程序都拥有
7、一个 Global.asa 文件,后缀名 asa 是Active Server Application 的缩写。(1) ASP 文件的存取方式- 4 -使用任何一种文本编辑器都可编写 ASP 应用程序,编写的程序要以后缀名.asp 保存,不可以保存为.html 形式。如果是以.html 形式保存的话,服务器端将不编译文件中所有的包含 ASP 语法的语句。将文件保存为后缀名.asp 的形式是为了告诉提供 ASP 服务的服务器,这是一个 ASP 应用程序,必须在给客户端送出文件之前把它编译一遍。将.asp 后缀名的文件编写存储完毕之后,就可以把它放在自己的 Web 服务器上执行,这样就能够在浏览器
8、端看到 ASP 页面的输出效果了。(2) ASP 文件的结构特点到目前为止,我们已经知道 ASP 能够和 HTML、Script 语言完美结合。在这之前一直都称开发的项目为应用程序,或许有些人认为 ASP 文件是一个已经被编译过的文件,但 ASP 文件是一个文本文件,可以用任何一种编辑器打开它,并对它进行适当的编辑修改。一般情况下一个 ASP 包含以下几个部分:(1)普通的 HTML 文件。(2)客户端的 Script 程序代码,放置于和标签之内。(3)服务器端的 ASP Script 程序代码,放置于标签之内。(4)Server Side Include 语句,即使用#Include 的语法
9、在本页面嵌入其他的 Web 页面。ASP 的服务器会将其原封不动的发送到客户端,由客户端的浏览器进行处理。目前在 ASP 中可以使用的脚本语言主要是 VBScript 和 Jscript,其中系统默认的脚本语言为 VBScript。不过任何一个可以和 ActiveX Script 标准兼容的脚本语言引擎都可以很好地应用于 ASP 之中。1.2 程序使用的对象及其属性和方法(1)Request 对象(从客户端获取信息,主要是读取提交表单中的数据)- 5 -QueryString: 从查询字符串中读取用户提交的数据;Form:获取客户端在 FORM 表单中所输入的信息;Cookies: 取得客户端
10、浏览器的 Cookies 信息。(2)Response 对象(返回信息到客户端,主要是向浏览器输出文本、数据、Cookies 等)Response.Write: 直接送出信息到客户端;Response.Redirect: 引导客户端浏览器至新的 Web 页面;Response.End: 终止处理 ASP 程序,并返回当时的状况。(3)Session 对象(为单个用户保存信息)利用 Session 存储信息的语法:Session(”Session 名字” )=变量或字符串信息(4)Server 对象CreatObject 方法: 用于创建组件、应用对象或脚本对象的实例CreatObject 的语
11、法如下:Set Server.CreatObject(ActiveX Server 组件)(5)Connection 对象(ADO 的内部对象,用来建立与数据库的连接) 在 ADO 中建立对象一般要用 Server 对象的 CreatObject 方法,语法如下:Set Connection 对象=Server.CreatObject (“ADODB.Connection”)Open 方法: 用于建立和数据库的连接;Close 方法: 用来关闭一个已打开的对象及其相关的各种对象;Execute 方法: 用来执行数据库查询。(6)Command 对象(用来对数据库执行命令,如查询、添加记录等命令
12、)Execute 方法: 用来执行数据库查询。- 6 -(7)Recordset 对象(用来得到从数据库返回的记录集)建立 Recordset 对象的语法如下:Set Recordset 对象=Server.CreatObject(“ADODB. Recordset”)用 Open 方法打开数据库的语法如下:Recordset 对象.OpenSourse,ActiveConnection,CursorType,LockType,Options1.3 系统开发环境1.3.1 Web 服务器的选择要使自己的计算机成为 Web 服务器就要安装相应的 Web 服务器软件。有许多的 Web 服务器可以用
13、来建立 Windows 下的 Web 站点。但是不同的 Web 服务器支持不同的功能。选择 Web 服务器时,最重要的是使 Web 服务器易于建立和管理。其次选择服务器时应注意服务器提供的安全程序,如果 Web 站点只为浏览 Web 站点的用户提供大量的信息,那么安全性问题并不十分重要,但如果要在网上提供重要信息时,应确保数据在传输之前进行加密,这时可以使用额一种安全机制进行传输。另外,Web 服务器必须支持 CGI 脚本(包括 ASP) 。通过提供动态内容和及时响应用户输入,CGI 脚本使得用户可以与服务器进行交互。此外 Web 服务器还应支持日志文件,这对于 Web 管理员及时了解站点的反
14、问情况并做出相应的决策有帮助。1.3.2 IIS 简介IIS 是 Windows NT 提供的 Internet 服务的核心,Windows NT 的安装光盘上带有 IIS。IIS 是微软公司为企业和部门发布信息而设计的,一般用于大型的站点。IIS 5 是新一代的 Web 服务器软件,它包括许多新的特征:- 7 -(1) ASP3.0 解释工具和 ASP 调试工具。(2) 功能强大的 Microsoft Management Console(是微软管理控制台) 、Microsoft Transaction Server 等管理工具。(3) 对多 Web 站点(虚拟主机)支持。(4) 对 Web
15、 站点内容完全控制。(5) Microsoft Index Server 微软高性能索引器。(6) HTTP1.1 和 HTTP 重定向支持。要特别注意的是服务器端的运行环境如下:(1) Windows 2000 + IIS5.0 (Internet 信息服务管理器 5.0)(2) Windows XP + IIS5.0 (Internet 信息服务管理器 5.0)(3) Windows 98 + PWS4.0 (personal Web Server 4.0,个人 Web 服务管理器)(4) Windows NT 4.0 + Windows NT Option pack- 8 -第二章 需求
16、分析2.1 系统功能模块本系统主要实现以下一些基本功能:(1) 百瑞通公司网站:百瑞通公司网站系统主要是信息的发布与管理,涉及到前台用户对新闻信息的浏览和后台新闻的管理两大模块。前台页面一般不需要用户登录注册,也就是对所有用户均开放,不做权限验证,在前台为了满足用户参与的需求,还需要添加新闻评论的功能,使得用户可以对新闻信息发表自己的看法和意见。另外,为了获得用户对哪些方面的信息感兴趣,还要在用户单击新闻浏览时自动统计新闻的浏览次数,以供后台展示热点新闻信息的受欢迎程度。后台管理方面,必须由合法的管理者来管理新闻的发布、修改、删除等,我们要将新闻信息添加到数据库,放置到指定的栏目下。为了使新闻
17、展示出来具有好的效果,还需要对新闻进行排版、添加图片及上传附件等。另外,新闻的发布难免会发生错误,由此还需要对新闻进行修改和删除等。除此之外,前台的评论,对于热点新闻及新闻的受欢迎程度等信息应该能提供管理界面让管理者浏览到,以便管理者能监控系统的访问过程。(2) 讨论区:又称电子公告板,不仅可以用在日常交流中,而且在远程教育、远程医疗中也起到了很大的作用。的形式丰富、方便。给大家构建了一个完美- 9 -的网络讨论空间。在中对于用户来说,其首先需要注册才能够在讨论区发帖子,因此用户有用户 ID、用户名、用户密码,以及用户的各项资料等属性,综合这些属性,可以得出的的第一个功能部分用户的注册,信息的
18、修改,已经注册用户的登录、登出等操作。对于帖子来说,其属性相对就复杂了。首先,不能所有的帖子都放在一起,因此就有了第二个功能部分帖子分类。帖子的本身又要包含标题和内容两个基本属性,当然,为了方便查看和管理,我们还需要给帖子加上发布时间的属性。将帖子和用户联系起来,则需要在帖子中注明此帖的发布人的昵称、发布人的编号等信息。另外,帖子还分主帖和针对主题的回复帖两种。完成对用户和帖子两个基本要素的分析后,的基本功能就算是完善了,即帖子的浏览、发表、用户的注册管理。但是即使对一个简单的来讲,仍然是需要管理员来管理的,这个管理不仅是对帖子的管理,还应当包括对用户的管理。因此应包括第三个功能部分管理部分,
19、在此部分中,应当允许管理员进行登录等操作,并在本部分所有的页面中加入对当前浏览者是否是管理员的判断,以防止越权管理。在判断管理员合法后,应当允许管理员对帖子和用户进行属性修改及删除等操作。(3) 用户登录与注册:用户登录页面主要是为用户提供登录的窗口,用户通过在页面内输入正确的用户名及密码,取得登录系统的权利。否则不能登录系统,实现系统的其他功能。在此,登录的前提是注册用户的一些信息,只有注册成功才能成为该网站的用户。(4) 数据维护和安全管理:数据维护主要对后台数据库进行管理和维护,包括添加、删除、修改等操作,实现对数据库的更新,可以提高系统的运行效率;安全管理主要是对用户的信息进行管理,管
20、理员能够有权增加或删除系统的- 10 -操作人员,并指定教师的登录密码,也可以增加和删除系统管理员。2.2 系统逻辑模块网站首页新闻浏览网站留言论坛管理后台图 2-1 功能模块之间的关系图- 11 -网站首页新闻浏览留言系统新闻浏览新闻管理点击次数会员登录网站留言论坛系统会员登录浏览论坛发表论坛点击次数统计管理系统管理员登录对新闻、论坛、留言等的管理图 2-2 系统的页面逻辑结构示意图- 12 -2.3 系统数据分析根据系统功能和模块的分析和划分,并综合考虑实际使用情况,得出程序中要使用的数据和这些数据以及数据与模块程序之间的调用关系。用户登录要使用到用户表的基本数据,用户分为管理员、普通用户
21、两种,其中管理员信息主要包括用户名和密码;普通用户的信息主要有用户名、密码、性别、E_mali 等信息;管理员则可以对所有用户的信息进行管理。数据项的定义是数据库的基础,合理的数据项定义可以提高数据的运行效率,极大限度地减少数据的冗余。在百瑞通公司网站系统中我们需要建立的数据有以下几项:表 2-1 新闻内容表(news)结构序号 字段 描述 类型和长度 主键 可空 默认值1 Id 自动编号 Int 是 否 无2 Title 新闻标题 Varchar(50) 否 否 无3 Pubtime 发布时间 Datetime(8) 否 是 Getdate()4 Userid 作者 Varchar(50)
22、否 是 无5 Content 新闻内容 Text 否 否 无6 Viewtimes 查看次数 Int 否 是 07 tuinew 是否推荐新闻 int 否 是 0在网站留言系统中我们需要建立的数据有以下几项:- 13 -表 2-2 留言内容表(GUEST)结构序号 字段 描述 类型和长度 主键 可空 默认值1 Id 自动编号 Int 是 否 无2 Title 留言标题 Varchar(50) 否 否 无3 Ftime 留言时间 Datetime(8) 否 是 Getdate()4 Userid 作者 Varchar(50) 否 否 无5 content 留言内容 text 否 否 无系统中我们
23、需要建立的数据有以下几项:表 2-3 内容表()结构序号 字段 描述 类型和长度 主键 默认值1 _id 自动编号 Int 是 无2 Title 文章标题 Varchar(50) 否 无3 Body 文章内容 Text 否 无4 Layer 层数 Int 否 无5 Parent_id 父文章编号 Int 否 无6 Child 回复文章数目 Int 否 07 hits 点击次数 int 否 08 User_name 用户名 Varchar(50) 否 无9 Fbtime 发布时间 Datetime(8) 否 Getdate()10 hftime 回复时间 Datetime(8) 否 Getdat
24、e()- 14 -管理员所需建立的数据:表 2-4 管理员表(GLY )结构另外,在进入网站上的、留言等模块的时候还需要普通用户的登录,普通用户表如下:表 2-4 用户表(USER)结构序号 字段 描述 类型和长度 主键 可空1 Id 自动编号 Int 是 否2 Name 用户名 Varchar(50) 否 否3 Password 用户密码 Varchar(50) 否 否4 Email 用户电子邮箱 Varchar(50) 否 否5 Love 爱好 Varchar(50) 否 否序号 字段 描述 类型和长度 主键1 Id 自动编号 Int 是2 Gly 管理员姓名 Varchar(50) 否3
25、 mm 密码 int 否- 15 -第三章 设计阶段3.1 概要设计3.1.1 数据库概论本系统的关键在于 ASP 数据库的开发应用技巧和流程。为了与数据库更好的配合工作,我们采用了 ADO 对象。使用 ActiveX 数据对象 ADO,可以对来自许多数据提供者的数据进行读取和写入操作。例如,可以使用 ADO 访问 Microsoft Access、Microsoft SQL Server 和 Oracle 数据库中的信息。微软公司的 Access 数据库本身不是一个数据库 m 服务器,它不能用服务器来运行查询。对于数据庞大的情况,Access 本身不是一个好的选择,另外一个要考虑的是数据库的
26、安全问题,Access 比起 SQL Server 而言,总体的安全性要差。对于 ASP 而言,与它搭配的最常用的数据库是 Microsoft SQL Server ,但从应用的角度而言,本系统从前端 ASP 页面的内容来看,它并不十分关心后台的数据库类型。它采用的数据库组件(ADO)模型对于系统开发者而言,是面向对象封装好的,开发者在面对不同的后台数据库时,需要修改的只是很少的一些对方即可。因此采用了在创建、使用以及配置上都比较容易的 Access 数据库。Access 是 Microsoft Office 系列中的一个组件,它用于企业管理和个人用户中,提供通过向导建立数据库管理系统和通过编
27、程建立数据库管理系统。Access 采用的是”关系型数据库” ,它本身就可以生成一个完整的系统。由于它和 VB 同为 Microsoft 开发,Access 中采用 Microsoft Access Visual Basic 编程,所以它能很好的和 VBScript 结合编程。现在越来越多的人选择 Access 2002 作为自己的数据库,它和 Access - 16 -2000 相比,有着更突出和优越的地方。在 Access 2002 中,使用经改进的 Data Access Page 设计程序,可以快速创建连到 Access 和 SQL Server 数据库的 Web 页,实现输出报表、表
28、格,以及 XML 格式的查询。新引入的 Data Access Pages 是表格和报表的 HTML/XML 版本,是该版本中许多新功能的核心。但它只能在 Internet Explorer 5.0 及以上版本实现 (Access 页虽然可以被配置到 Internet 网站,但它必须配置 Remote Data Services)。3.1.2 数据库的主要功能需求根据系统功能设计的要求以及功能模块的划分,对于系统使用的信息数据库,可以列出以下数据项和数据结构: 新闻信息表(NEWS):新闻标题、发布时间、新闻内容、作者、是否推荐新闻、查看点击次数。系统管理员表(GLY):管理员名、密码。普通用
29、户表(USYR):用户名、密码、EMALI、爱好。投票表(vote)3.1.3 模块划分及功能介绍该课题所实现的主要模块功能有:用户的登录和注册;用户对该网站的留言;用户对新闻的浏览;另外,还有管理员对各个模块的管理如:新闻的添加、删除、修改等所要解决的主要问题是:在客户端实现用户以批准的身份采用网页的形式实现对该网站上有权限限制的内容的功能使用;可以对新闻的电击率、的回复率进行统计;管理员对所有信息的更新管理;管理员对数据库信息的管理和维护等。(1)用户的登录与注册:本模块主要分为以下几部分:用户的注册信息处理、客户端验证数据的有效性、检查用户名是否存在、验证以注册用户的登录是- 17 -否
30、可行、在此我们需要注意的是检查用户名是否存在,表单的内容被提交到指定的验证页后,该页的任务就是进一步验证用户提交的信息,并将这些信息保存到数据库。在注册信息中,我们不允许数据库中有重复的用户名,(2)百瑞通公司网站:百瑞通公司网站模块不需要权限的限定,它主要是信息的发布和管理。在前台百瑞通公司网站中要显示这些栏目的最新新闻信息列表和推荐新闻信息列表,并能提供一些新闻检索功能来是用户能检索的自己感兴趣的信息。为了使新闻读的更具有趣味,还需要新闻能通过不同的预先设计的展示出来,从而满足用户个性化需求。同时要在用户浏览该新闻时统计新闻的点击次数,以供展示热点新闻和统计新闻的受欢迎度。(3):在该模块
31、中对于用户来说,首先需要注册才能够在讨论区发布帖子,因此该模块是建立在用户的登录后实现的。对于帖子来说,其属性相对就比较复杂了。首先,不能将的帖子都放在一起,帖子本身又要包含标题和内容两个基本的属性,当然,为了方便查看和管理,我们还需要给帖子加上发布时间的属性。同时,在中可能出现一些比较优秀的文章,为了标记这些文章,我们还需要给文章设置“其他”属性,此属性表明帖子是普通帖子,或者此帖子是被管理员锁定的。将帖子和用户联系起来,则需要在帖子中注明此帖子的发布人、发布时间等的信息。另外,帖子还分为主题帖和针对主题的恢复两种。在完成对用户和帖子两个基本要素的分析后,的基本功能就算是完善了,即帖子的浏览
32、、发表、等。但是即使是一个简单的也需要管理员来管理的,这个管理不仅是对帖子的管理,还要包括对用户的管理,关于这些我们在管理系统中来实现。(4)系统留言板:留言系统可以说是网上最常见的,一般用来记载反馈信息等。对于用户来说是添加留言,管理员则是有查看、删除等功能。(5)管理员数据维护:这一功能是面向管理员的,首先管理员有一个特殊- 18 -的操作:只有管理员才能添加管理员,管理员不能申请、注册,只能是现有的管理员推荐。本网站把所有的管理程序放在管理员房间内,统一、明了。在这里必须是合法的管理员来管理新闻、 、用户、以及查看留言等功能。在新闻后台管理上要进行新闻的添加、删除、修改,要对新闻进行筛选
33、,设出那些是推荐新闻、热点新闻等。关于的管理,这个管理不仅是对帖子的管理,还应当包括对用户的管理。在此部分中,应当允许管理员进行登录等操作,并在本部分所有页面中加入对当前浏览者是否是管理员的判断,一防止非法越权管理。在判断管 理员的合法后,应当允许管理员对版面、帖子和用户进行属性修改及删除等操作。除此之外,管理员还要对普通用户进行一些管理,添加、删除等操作。但是,管理员不能随便更改用户的信息。这些操作都是对数据库进行管理和维护的,一般包括添加、修改、删除信息等。在这里主要操作的表是用户表和表和新闻表,对用户情况表来说,经系统正排后,管理员就只能再添加和删除信息,但管理员则不可以对表中的数据进行
34、修改;对新闻和表来说,每阶段的内容都要变化,所以必须有对它更新的操作,以便和整个系统的运行保持一致性;还有对其它一些表的操作,由于功能和上述讲的大同小异,这里就不再详细的叙述。以上功能的模块如下图所示:- 19 -奥运专题网新闻发布 BBS论坛留言系统 系统统计 系统管理新闻主页 推荐新闻 新闻详情 论坛主页 论坛详情主页登录 发表论坛 论题回复主页登录 用户留言 新闻管理 论坛管理 留言管理 用户管理新闻添加 新闻修改 新闻删除 是否推荐 论题添加 论坛修改 论点删除留言浏览 留言删除用户资料管理 管理员的添加 推荐管理员用户登录管理图 3-1 功能模块图开始- 20 -3.2 详细设计3.
35、2.1 程序流程图(1)用户登录及注册用户登录包括登录验证和用户注册,下面分别画流程图进行说明:NO NOYES图 3-2 用户登录流程图开始输入用户名及密码连接数据库根据用户名查找是否有用户进入系统终止注册用户- 21 -NO NOYES图 3-3 用户注册信息流程图以上流程是用户在登录和注册时的全部过程,关于用户的管理流程图将在管理流程图中见到。(2)发布新闻输入有关用户信息验证填写信息的正确性连接数据库存入数据库并保存终止输出提示信息开始- 22 -在百瑞通公司网站中我们要实现的功能有用户的浏览和后台管理员对新闻信息的管理,具体流程图如下:NOYES NOYES图 3-4 新闻系统流程图
36、开始判断是否是管理员登录输入管理员名及密码判断管理员名是否正确对新闻系统的管理保存修改终止普通用户浏览- 23 -(3)这个模块比较复杂,我们分几部分来对其分析.首先,用户的登录当用户在主页或者其他页上登录后就可以直接进入该模块我们在这里描述的是用户从没 有登录以前到所有功能都实现的过程下面我们以一个全面的的模块流程图来了解以下整个系统的大致流程另外还有管理员的维护和修改等也将在这给出介绍具体流程图如下:()用户的登录在这里就不在详说同上面的一样()用户发表帖子图 3-5 添加流程图开始添加信息输入框是否有空打开数据库刷新数据库结束- 24 -(3)修改信息是否是否图 3-6BS 修改流程图帖
37、子信息修改信息输入框是否为空空输入信息是否合法修改成功存入数据库刷新记录集结束开始- 25 -(4)删除记录是图 3-7 删除记录输入关键字连接数据库检查是否有此关键字选中次对象删除对象刷新数据库结束开始- 26 -3.2.2 主要窗体功能及实现方法(1)系统首页它的功能主要是用户登录和链接各个子功能模块,各类用户通过身份验证可以进入不同的界面,用户可以在主页 INDEX.ASP 登陆,管理员登录可进入 GLINDEX.asp。主界面也包含一些重要新闻浏览等功能,如:热点新闻的、热点情况查询、网站大体信息的浏览等,这些信息是面向所有用户的;另外还可以让用户查看当天日期以及星期几的有关情况,同时
38、也起到了美化界面的作用。主界面如主页中的查询和登录都要用到数据库里的信息,必须和数据库进行连接,所以这里首先介绍连接数据库的方法,本系统中和数据库的连接使用代码实现都是通过调用文件:odbc_connection.asp 来实现的该文件的代码如下:该代码是使用 ADO 技术来存取符合 ODBC 标准数据库的内容,在这里有好多种连接数据库的方法在这里我们运用的是不用数据源的连接方法,另外,我们采用了 SERVER 对象的 MAPPATH 方法,它的作用是通过 MAPPATH 方法可以将虚拟路径转化为上面的物理路径。增强整个文件的可移植性。用到的页面只需用把这个文件包含进来就可以了。- 27 -(
39、2)新闻页的实现新闻页面包括:热点新闻的推荐、不同话题的划分、新闻提交的时间、同时通过新闻可以链接到新闻的具体文章里,在具体内容里可以知道该新闻的点击次数。具体实现是:首先与数据库建立连接:第一行是强制型变量申明第二行则是把连接数据库的文件包含进来下面是通过建立记录集来查询数据库:下面再通过对记录集的输出来得到该页,具体就不在叙述。(3)页首先要申明的是进入前要进行用户身份的验证所以只有该网站注册过的用户才能登录,也主要包括:标题的浏览、论题的电击次数、论题的回复个数、论题的发布时间、以及通过论题可以连接到论题的具体内容,另外,还能够在详情页对的回复具体设计如下:在着里同上面的设计一样也是把连
40、接数据库的文件包含近来,不同的是为了使用户能够更方便的查看,我们增加了分页显示方,在分页显示的代码里要调用一段子程序用同样的方法把它保存在文件_function.asp 中。具体代码如下:“ & I & “ “End IfnextEnd sub%该文件的主要作用是通过主页来调用上面的子程序把当前是第几页和总页数以参数的形式调用到这里。再通过该程序依次写出各页页码,并将非当前页设置超级链接,当前页则不设置。在页里我们需要强调的是有关分页显示的有关内容,具体如下:0 I=I+1J=J-1%该段代码的主要作用是实现分页显示的主要部分,在这里因为要分页显示查询结果,所以用上面方法创建一个 recordset 对象。需要注意的是因为要用到recordset 对象的很多属性所以我们要用 OPEN 方法打开数据库的时候要将recordset 对象的 OPEN 方法的参数设置为:rs.Open sql,db,1。下面是各种变量的申明分别有:每页多少条记录(page_size)、当前页有多少条记录(page_no)、总页数的记录(page_total)。 page_size=10 即是将每页的显示设为 10 条,If Request(“page_no“)=“ Then page_no=1