ASP交友系统设计(一)

时间:2023-03-07 11:02:40 计算机毕业论文 我要投稿
  • 相关推荐

ASP交友系统设计(一)

前  言
 在科技不断发展的今天,利用计算机进行现代化通讯已经成为我们身边必部可少的工具。我们身处在一个知识日新月异、时刻充满挑战的时代,科技的飞速,知识不断创新的社会。所以利用新的通讯方式增进同学见友谊,增进朋友之间的了解是时代所要求的。
 作为当代大学生,应有长远的目光和随机应变的能力,应走在时间的前面,掌握最新的社会动态、最先进科学技术,以调整自己的知识结构和能力结构,去适应社会的发展。新世纪需要具有丰富现代科学知识的人;需要能够独立解决问题、完成工作的人;需要能独当一面、时常挑战自己极限的人;需要有创新意识的人。我们在不断努力中学习做一个与时代并进的人。
 在进入实习的阶段中越来越觉得友谊的增进是必须的。俗话说人在社会,多一个朋友是条路,而且各种通讯方式的变更更是五花八门。因此我想做一个校友录系统来增加一种通讯方式以方便我院学生的联系。让我院学生感受到虽然身处异地,却随时可以鼠标一点重新让你有重归校园的亲切感。
 我现在用文字形式将我做此系统的过程及其功能介绍展现给大家。由于是初次编写,缺少经验,可能有许多不完备或出错的地方,诚恳希望老师们不吝指正。
关键词: 校友录系统、窗体、控件、数据库

第一章 系统设计
§1.1 市场需求分析
 随着社会的发展,同学之间之间的学术交流,以及同学之间的相互联系 ,等这些都必须利用计算机,因此用电子信息技术来交流已经成为社会发展的趋势 。在交流中大家可以重新一起回忆往事。有新鲜事大家可以一起交流,有疑问可以通过留言方式来获取校友提供的信息。这样既增进了同学之间的友谊同时也得到了自己想要获取的信息。
 计算机技术的迅速发展带动其它技术的发展,自然也推动着信息技术高度发展快速前进。信息、信息技术和信息化的重要性日益被人们所认识,高科技电子通讯也日益被大众所接受,所以现代化通讯方式是今后发展的趋势,,所以建立一套符合实际的、简便快捷的、易于掌握的信息系统势在必行。
§1.2 系统设计
§1.2.1 系统目标设计
 通过此系统可以轻松浏览自己或与自己好友的详细情况,注册会员后还可轻松添加、修改、删除好友信息。
§1.2.2 开发设计思想
 本系统的开发设计思想:
 ★系统应符合规定,满足大家日常通讯的工作需要,并达到操作过程中的直观、方便、实用、安全等要求;
 ★系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员的补充和维护;
 ★系统应具备数据库维护功能,及时根据用户需求进行数据的添加,删除、修改、等操作。
 ★系统中还应具备有信息查询功能,以便使管理人员方便、及时地了解各类有关情况,使系统真正地帮助并提高管理员的管理水平,使管理方便、快捷、准确、无误。
§1.3 校友录系统的开发环境及其可扩展性
§1.3.1 校友录系统的开发环境
 (1)硬件环境:
 主机:电脑486DX/100,推荐Pentium200以上;
 内存:最低要求8MB,最好在32M内上;
 硬盘:程序需用硬盘容量约2M,由数据所需空间使用情况而定;
 显示器:标准VGA彩色(黑白)显示器;1024×768;
 (2)软件配置:
 操作系统:windowsXP
 系统开发软件:Dreamweaver MX
 数据库开发软件:Access2000
 操作环境: Asp+Access ,IIS4.0
 1.ASP:20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种基于数据关联规则网上论坛系统,论坛也称为BBS,BBS是BULLETIN BOARD SYSTEM的缩写,意即电子公告板,一种在INTERNET上常用的用于信息服务的web系统,他的主要服务是用来帮助浏览者相互沟通,吸引用户、服务用户的。
 2.IIS:WE务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
 IIS与ASP相结合:
 在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构(如图2.1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。  利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:
 (1)减少构建和维护成本
 (2)加快联机过程
 (3)软件集中在服务器端开发管理
 (4)端可使用任何浏览器(IE、Netscape…..)
 (5)端可存取任何数据库 (SQL、Access…..)
 (6)用任何脚本语言开发 (VBScript、java script、PERL…..)

 ASP的内部特点:
 ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表2.1所示。
 
 表2.1  ASP 内部6大对象及其功能
对象名称 功能描述 
Request 从客户端取得信息 
Response 将信息送给客户端 
Server 提供一些Web服务器工具 
Session 储存在一个Session内的用户信息,该信息仅可被该用户访问 
Application 在一个ASP-Application中让不同的客户端共享信息 
ObjectContext 配合Microsoft Transaction服务器进行分布式事务处理 
 
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。我们可以用以下的语法直接使用这些对象:对象/属性/方法/数据集合
 3.GLOBAL文件
 每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:(1)Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。
(2)不具有任何Session的客户端向Server请求一个ASP文件时。  前面已经提到Application和Session这两个ASP的内部对象。Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容:
(1) Application或Session的开始事件(Start-event)。
(2) Application或Session的结束事件 (End-event)。
 这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。
 
 CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。Active Server Pages开发Web应用程序的特点: (1) 完全嵌入HTML,与HTML、Script语言完美结合。 (2) 无须手动编译和链接程序。 (3) 面向对象,并可扩展ActiveX Server组件功能。 (4) 使用脚本语言(java script、VBScript或PERL)编写。 (5) 存取数据库轻松容易(使用ADO组件)。 (6) 可使用任何语言编写自己的ActiveX Server组件。 (7) 无浏览器兼容问题。 (8) 程序代码隐藏,客户端仅能看到ASP输出的HTML文件。 (9) 缩短Web开发时间。  相比之下,使用CGI开发Web应用程序具有以下缺点: (1) 不易与HTML文件集成。 (2) 须使用其他较复杂的语言来开发CGI程序。 (3) 程序开发时间较长。 (4) 存取数据库不容易。 (5) 每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。  可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。      ACCESS数据库开发能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
§1.3.2 交友录管理系统的可扩展性
 由于时间的限制,且个人的水平有限,在该系统中有很多未涉及的地方。辟如说:系统没有歌曲下载和信息下载功能,没有各友情网站之间的连接。今后,可对此系统在这方面加以改进,这样交友录才会越来越壮大,我们的设计才会越来越健全。
 还有,系统的同步更新做的并不是很完善,统计也没有具体去做。这是一个重要的环节,可以努力去开发,做好后既可以简化系统的复杂性,又可以提高系统的安全性。
在这里讲这些,只是希望读者能够注意到这几点也是非常重要的,是具有相当可扩展性的环节。为读者改进这个系统的做一个简单的提示。
 系统功能的完善有待我们共同去努力!
第二章 总体设计
 总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段主要由两个小阶段组成。首先是系统设计,从数据流图出发设计完成系统功能的若干种合理的物理方案,然后进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调节应用关系。层次图和结构图是描绘软件结构的常用工具。
§2.1 系统功能分析
 本系统是建立在WinXP 平台上,用VB语言开发设计,用Access来记录数据。为的是面向用户,其中包括好友注册,好友个人管理,网站会员管理等。本系统的总体功能是通过好友注册,好友登陆验证,对好友进行管理。方便用户,代替了以前的手动操作。大大为交友者和管理者双方节省了时间。
 系统管理包括用户管理、修改个人信息、退出系统。
 用户管理包括添加、删除用户及确定、退出。
 修改个人信息包括验证、确定、取消。
 交友录的运行包括管理员管理、好友留言信息预览、好友查询。
 管理员管理是通过对姓名、以及具体好友的个人信息、进行添加、删除、修改、更新。
 交友留言信息预览是通过调用数据库里信息来实现。
 校友查询通过好友的姓名,来查询实现。

 版权声明是为了保证本系统不被抄袭。
 帮助即本系统的说明书。
§2.2 系统功能模块划分
 在系统功能分析的基础上,考虑Visual Basic 6.0程序编制的特点,得到如下图所示的系统功能模块图。
   

(系统功能模块如上图)
第三章 数据库设计
 数据库在任何系统中占有非常重要的地位,它是数据的来源。数据库的结构好坏,将直接影响到系统功能的实现。
 所以建库前要做好充分的准备。首先,要了解用户各个方面的需求,他们的需求主要体现在各种信息的提供、保存、更新、查询。其次,要收集基本的数据,并理清其中的关系,以备后用。
 根据交友管理系统的要求,通过对好友管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
用户信息包括的数据项有:user_id(自动编号),用户名,密码和注册日期 。
用户详细注册信息包括的数据项有:lar_id(自动编号), 用户ID,姓名,生日,年龄,学历,职业,电话,性格,星座等。
留言信息包括的数据项有:ID(自动编号),留言者姓名,留言内容,对方用户ID,留言者ID。
好友信息包括的数据项有: ID(自动编号),用户名,性别,地区。
 有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。
§3.1  概念结构设计
 得到上面的数据项和数据结构以后,就可以设计出满足用户的各种窗体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
 本实例根据上面的设计规划出的实体有:用户信息实体、书类信息实体、书简介信息实体、进书表信息实体,各个实体具体的描述E-R图如下。
 用户管理信息实体的E-R图如下:


 好友信息实体的E-R图如下:

 
 
 
 好友简介信息实体的E-R图如下:
 
 
 
 
 §3.2 逻辑结构设计
 数据库的概念结构设计完成后,现在可以将上面的数据库概念结构转化为数据库的逻辑结构。
   我现在将用下面的一个表来表示交友系统数据库中一个表的设计。
用户简单信息注册表如下:
列名 数据类型 字段大小 必填字段 默认值 
User_id  整型 4   
User_name 文本 18 是  
Password 文本 18 是  
用户详细注册信息表如下:
列名 数据类型 字段大小 必填字段 默认值 
Lar_id 整型 4   
User_id 整型 4   
Name 文本 10 是  
Sex 文本 2 是  
Britherday 文本 12 是  
age 整型 4 是 0 
Home 文本 30 是 0 
Education 文本 10 是  
Job 文本 20 是  
Company 文本 50 是  
Tel 文本 20 是  
Netname 文本 10 是  
Email 文本 50 是  
Homepage 文本 50 是  
Music 文本 50 是  
Book 文本 20 是  
People 文本 30 是  
Interest 文本 50 是  
Photo 整型 4 是  
ip 文本 14 是  
Star 文本 50 是  

用户留言信息表如下:
列名 数据类型 字段大小 必填字段 默认值 
ID 整型 4   
NetNAME 文本 4 是  
Word 文本 255 是  
For_id 4 4   
User_id 货币 4   
好友信息表如下:
列名 数据类型 字段大小 必填字段 默认值 
ID 整型 4   
NetNAME 文本 50 是  
sex 文本 50 是  
home 文本 50 是  
For_id 整型 4   
User_id 整型 4   


§3.3 数据库的实现
 经过前面的需求分析和概念结构设计以后。现在就可以在Access数据库中创建数据表了。
 打开Access软件,新建数据库命名为“date.mdb”,目的是为了方便用户理解。在其上通过表设计器分别新建用户信息表、好友信息表、好友详细信息表、留言信息表。
 在用户信息表中添字段时,必须考虑到用户名和密码的数据类型和字段大小。经过我的考虑,我定用户名和密码的数据类型为文本型即什么类型的字符都可以。定用户名的字段大小为18个字符,密码的字段大小为18个字符。
 同理,我考虑好了用户简单信息表、用户详细信息表、留言信息表,以及好友信息表中应填写的字段名,且经过考察,定下了这些字段的数据类型和字段大小。
 在填写记录时,一定要谨慎,和字段名必须相对应,且要符合字段名的数据类型和字段大小。我按照自己定下的规格,将自己收集到的数据填写在了相应的表中。
第四章 系统详细设计
 有了上面的系统分析和数据库分析,便可以利用ASP进行系统的设计了。在桌面建立“FRIEND在其下建立“IMAGES,和“DATE下分别存放生成文件,图片文件和数据库文件。
§4.1 主界面的设计及分析
 运行ASP,新建一个虚拟目录“FRIEND”,新建站点。
 建立交友系统主控界面如下图:
 
 
 
(图4.1.1)
 其上有上有各种类型的菜单选项,如好友注册、个人档案、相片上传、档案注册、好友登陆。以及下一级子菜单。可根据自己的需求进行选择。且工具栏上有相对应的快捷按钮,方便用户,为用户节省时间。
     窗体右面的类型表即书类型和书类型代号的对应表是为了提醒用户,方便用户,让用户不必强行记忆这么多东西,就是忘了也可方便查找。
§4.2 各界面的设计及分析
§4.2.1 网友注册模块
 网友注册包括以下子模块:
会员注册
reg.asp
regsubmit.asp
regok.asp
register.asp
ladd.asp
read.asp
用户登陆验证
default.asp
login.asp
your.asp
各子模块联系如下:

     
用户注册页面:
reg.asp页面示例
                
a.页面中需要用户填写的HTML表单元素有:
   
名称 表单元素类型 含义 最大长度 
User_name Text 用户登陆名称 10 
Password Password 用户登陆密码 10 
Password_two Password 确认密码 10 
b.页面所涉及的数据表信息:
此页面仅向系统提供用户名和密码。
c.页面代码分析:
        <%
 if session("user_id")<>1 then
         response.redirect "havereg.htm"
end if
%>
注册不成功页面:
regsubmit.asp页面示例

 
 
a.页面中需要用户填写的HTML表单元素有:
     此页面无需填写HTML表单元素。
b.页面所涉及的数据表信息:
此页面仅向系统提供用户住册名称和密码。
c.页面代码分析:

       <!--#include file="conn.asp"-->
<%取得提交表单的用户名,密码。

   user_name     =left(request("user_name"),10)
   password      =left(request("password"),10)
如果密码为空终止程序执行。

if password="" then
   response.write "数据有错!"
   response.end
end if
Set rs_user = Server.CreateObject("ADODB.Recordset")
sql="select * from user_reg where user_name like '" & user_name & "'"
rs_user.open sql,conn,3,2

if rs_user.eof and rs_user.bof then
       rs_user.addnew
        rs_user("user_name")=user_name
        rs_user("password")=password
        rs_user("date")=date
        rs_user.update
        rs_user.movelast
        session("user_id")=rs_user("user_id")
        rs_user.close
       如果用户住册成功直接跳转到regok.asp
        response.redirect "regok.asp"
        response.end
else
%>

用户住册成功页:
regok.asp页面示例a.页面中需要用户填写的HTML表单元素有:
 此页面无需填写HTML表单元素。
 b.页面所涉及的数据表信息:
此页面没有涉及数据库表的信息
用户填写个人信息页
register.asp页面示例

 
 
a.页面中需要用户填写的HTML表单元素有:
   


名称 表单元素类型 含义 最大长度 
name Text 真实姓名 10 
Home Text 籍贯 10 
company Text 所在单位 50 
Postalcode Text 邮编 6 
Tel Text 联系电话 20 
Fresume Text 简历 200 
Netname Text 网名 10 
Homepage Text 主页 50 
Email Text 邮箱 50 
Chartroom Text 常进的聊天室 50 
Sport Text 喜欢的运动 30 
Book Text 喜欢的书 50 
People Text 喜欢的人 30 
Interest Text 爱好 50 
Music Text 喜欢的音乐 50 
Adage Text 人生格言 50 
Character Text 性格简介 50 
b.页面所涉及的数据表信息:
 此页面为用户填写个人信息。
c.页面代码分析:
       <!--#include file="conn.asp"-->
<%
dim rs_lar
dim sql
dim i
'叛断Session变量是否超时


if isnull(session("user_id")) then
   response.redirect "timeout.htm"
end if
'叛断此用户是否已经入会
if session("user_id")="1" then
    response.redirect "notreg.htm"
  response.end
end if
'判断是否已经填写档案
Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id =" & session("user_id")
rs_lar.open sql,conn,3,2
if not(rs_lar.eof and rs_lar.bof) then
   response.redirect "haveregist.htm"
   response.end
end if
rs_lar.close
set rs_lar=nothing
set conn=nothing
%>

5.用户信息显示页:
read.asp页面示例

 


a.页面中需要用户填写的HTML表单元素有:
     此页面无需填写HTML表单元素。
b.页面所涉及的数据表信息:
此页面仅向系统提供用户详细的注册信息,用到了数据表 larchives的操作。
c.页面代码分析:
<!--#include file="conn.asp"-->
<%
'叛断Session变量是否超时
if isempty(session("user_id")) or session("user_id")="" then
   response.redirect "timeout.htm"
end if
user_id=request("user_id")

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id=" & user_id
rs_lar.open sql,conn,3,2

Set connpic = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("data/picture.mdb")
connpic.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rspic = Server.CreateObject("ADODB.Recordset")
sql="select * from pic where user_id=" & user_id
rspic.open sql,connpic,1,1

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where for_id=" & user_id & " and user_id=" & session("user_id")
rs_apply.open sql,conn,1,1
if not(rs_apply.eof and rs_apply.bof) then
 willstr=rs_lar("netname") & "已向您发出交友请求"
end if
rs_apply.close
set rs_apply=nothing

set rs_friend=server.createobject("adodb.recordset")
sql="select * from friend where (for_id=" & session("user_id") & " and user_id=" & user_id & ") or (for_id=" & user_id & " and user_id=" & session("user_id") & ")"
rs_friend.open sql,conn,1,1
if not(rs_friend.eof and rs_friend.bof) then
 willstr=rs_lar("netname") & "是您的好友"
end if
rs_friend.close
set rs_friend=nothing

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where user_id =" & session("user_id") & " and for_id=" & user_id
rs_apply.open sql,conn,1,1
if not(rs_apply.eof and rs_apply.bof) then
 willstr="您已向“" & rs_lar("netname") & "”发出交友请求,请静候佳音!"
end if
rs_apply.close
set rs_apply=nothing


if rspic.eof and rspic.bof then
   picid=1
   cur=1
else
   rspic.pagesize=1
   cur=request("cur")
   if cur="" or clng(cur)<1 then cur=1
   if clng(cur)>rspic.pagecount then cur=rspic.pagecount
   rspic.absolutepage=cur
   picid=rspic("id")
end if
   pics=rspic.recordcount
%>
 
 
 
 
6.用户登陆显示页:
default.asp页面示例
 
             
a.页面中需要用户填写的HTML表单元素有:
   
名称 表单元素类型 含义 最大长度 
User_name Text 用户登陆名称 10 
Password Password 用户登陆密码 10 
b.页面所涉及的数据表信息:
此页面仅向系统提供用户名和密码。
c.页面代码分析:
    <form action="login.asp" method="POST">
 ……
 </ form >
7.用户登陆失败显示页
login.asp页面示例

 

 

 


a.页面中需要用户填写的HTML表单元素有:
      此页面无需填写HTML表单元素。
b.页面所涉及的数据表信息:
此页面仅向系统提供登陆错误信息。
c.页面代码分析:
     <%
Option Explicit
dim rs_user
dim sql
dim user_name,password

   user_name     =left(request("user_name"),10)
   password      =left(request("password"),10)

if password="" or user_name="" then
   response.write "<script language='java script'>"
   response.write "alert('数据填写有错!');"
   response.write "history.go(-1);"
   response.write "</script>"
   response.end
end if


if InStr(LCase(password),"'")<>0 or InStr(LCase(password),"or")<>0 then
  response.write "<script language='java script'>"
  response.write "alert('密码不合法,请重新输入!');"
  response.write "history.go(-1);"
  response.write "</script>"
  response.end
  end if

if server.HTMLEncode(user_name)<>user_name or InStr(user_name,"【")<>0 or InStr(user_name,"】")<>0 or InStr(user_name," ")<>0 or InStr(user_name," ")<>0 or InStr(user_name,"?")<>0 then
response.write "<script language='java script'>"
   response.write "alert('数据填写有错!');"
   response.write "history.go(-1);"
   response.write "</script>"
   response.end
   end if
 


8.用户登陆成功显示页

your.asp页面示例

 

 


a.页面中需要用户填写的HTML表单元素有:
      此页面无需填写HTML表单元素。


b.页面所涉及的数据表信息:
此页面仅向系统提供登陆正确信息。本页面用到了简单用户注册信息表uaer_reg,用户详细注册表 larchives,信息表leaveword,好友列表friend等。
c.页面代码分析:
<!--#include file="conn.asp"-->
<%
dim rs_lar,rs_word,rs_apply,rs_back,rs_friend,rs_user
dim sql

'叛断Session变量是否超时
if isempty(session("user_id")) then
   response.redirect "timeout.htm"
end if

'叛断此用户是否已经注册
if session("user_id")=1 then response.redirect "notreg.htm"

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id =" & session("user_id")
rs_lar.open sql,conn,3,2

'叛断此用户是否已经提交档案
if rs_lar.eof and rs_lar.bof then
  response.redirect "notregist.htm"
  response.end

 

end if
Set rs_word = Server.CreateObject("ADODB.Recordset")
sql="select * from leaveword where for_id=" & session("user_id") & " order by id desc"
rs_word.open sql,conn,1,1

set rs_apply=server.createobject("adodb.recordset")
sql="select * from apply where for_id=" & session("user_id")
rs_apply.open sql,conn,3,2

set rs_back=server.createobject("adodb.recordset")
sql="select * from back where for_id=" & session("user_id")
rs_back.open sql,conn,3,2

set rs_friend=server.createobject("adodb.recordset")
sql="select * from friend where for_id=" & session("user_id")
rs_friend.open sql,conn,3,2

Set rs_user = Server.CreateObject("ADODB.Recordset")
sql="select * from user_reg where user_id=" & session("user_id")
rs_user.open sql,conn,3,2

%>

 


§4.2.2 网友个人管理模块
 网友个人管理模块包括以下子模块:
资料管理
相片管理
交友请求回复
留言管理
 资料管理模块包括以下子页面:
Edit.asp
Eadd.asp 
Delhy.asp
相片管理模块包括以下子页面:
sendphoto.asp 
addpic.asp
delpic.asp
交友请求回复管理页
accept.asp
refuse.asp
delqq.asp
管理子模块包含以下页面
leaveword.asp
delliuyan.asp

 


1.用修改写个人信息页
edit.asp页面示例

 
 
a.页面中需要用户填写的HTML表单元素有:
   


名称 表单元素类型 含义 最大长度 
name Text 真实姓名 10 
Home Text 籍贯 10 
company Text 所在单位 50 
Postalcode Text 邮编 6 
Tel Text 联系电话 20 
Fresume Text 简历 200 
Netname Text 网名 10 
Homepage Text 主页 50 
Email Text 邮箱 50 
Chartroom Text 常进的聊天室 50 
Sport Text 喜欢的运动 30 
Book Text 喜欢的书 50 
People Text 喜欢的人 30 
Interest Text 爱好 50 
Music Text 喜欢的音乐 50 
Adage Text 人生格言 50 
Character Text 性格简介 50 
b.页面所涉及的数据表信息:
 此页面为用户填写个人信息。用到的数据表信息有larchives的操作
c.页面代码分析:
   <!--#include file="conn.asp"-->
<%
'叛断此用户是否已经入会
if session("user_id")="" then
     response.redirect "notreg.htm"
  response.end
end if

Set rs_lar = Server.CreateObject("ADODB.Recordset")
sql="select * from larchives where user_id=" & session("user_id")
rs_lar.open sql,conn,3,2
if rs_lar.eof and rs_lar.bof then
   response.redirect "notregist.htm"
   response.end
end if
%>
2.保存修改的个人信息页
eadd.asp页面示例
该页面为用户提交个人档案后所看到的页面

 

 a.页面中需要用户填写的HTML表单元素有:
        此页面无需填写HTML表单元素。
 b.页面所涉及的数据表信息:
 本页面用到了详细用户注册信息表larchives的操作。
 c.页面代码分析:
         代码与用户提交个人详细信息代码十分相似。详情请参照以上代码。
2.用户删除好友页
delhy.asp页面示例
该页面为用户删除好友页,删除成功后直接跳转到个人管理首页,因此没有页面显示。
面中需要用户填写的HTML表单元素有:
 本页面无需填写HTML表单元素。
页面代码分析:
<!--#include file="conn.asp"-->
<%
if request("id") = "" then
response.redirect"default.asp"
response.end
end if
set rs_id = Server.CreateObject("ADODB.Recordset")
sql = "select * from friend where id="& request("id")
rs_id.open sql,conn,3,2
rs_id.close
Set rs_del = Server.CreateObject("ADODB.Recordset")
sql="delete  from friend where id=" & request("id")
rs_del.open sql,conn,3,2

conn.close
response.redirect"your.asp"
response.end
%>

§4.2.3 网站管理模块
 网站管理模块包括以下几个页面:
Adminlogin.asp 管理员登陆页
Adminpass.asp 帐号审核页
Admin.asp 管理员页
Deluser.asp  删除用户页
各页面联系如下:


1.管理员登陆页页
adminlogin.asp页面示例

 

a.页面中需要用户填写的HTML表单元素有:
   
名称 表单元素类型 含义 最大长度 
admin_name Text 用户登陆名称 14 
admin_Password Password 用户登陆密码 14 
b.页面所涉及的数据表信息:
此页面仅向系统提供管理员姓名和密码。
c.页面代码分析:
<form method="POST" action="adminpass.asp">
......
......
</from>
 
 
 第五章 调试运行
 编好的程序难免有错,必须反复地检查改正,直至达到预定设计要求方能投入使用。程序调试的目的就是检查并纠正程序中的错误,以保证程序的可靠运行。调试通常分三步进行:检查程序是否存在错误,确定出错的位置,纠正错误。
 经过我的运行测试,我发现我的程序有以下问题:
系统的同步更新只做了一个库存量的增加和减少,且库存量的多少可以为负数。且没有自动提醒。
所有的窗体都必须在1024×768分辨率下运行,否则系统会有很多东西显示不出来。
用系统的功能处没有实现交友双方的直接留言界面,显的界面很是死板。还有待提高。
当系统在另外一台计算机上运行时,由于路径问题,系统将不能正常运行。
进销查询不是很简化,库存查询没实现模糊查询。
每个文本框中字段的大小都没有限制,可以输入任意长度的字符串或数字。
整个系统不是很完善,代码也是如此。数据库中的数据大部分为文本型,换成其他类型会由于类型不匹配而导致程序出错。
 总体来说系统完整性、安全性、简约性还不是很好,有待完善。
结束语
 经过两个月的努力,这套交友管理系统的构思、设计、上机运行调试已圆满结束。在此期间,我查阅了许多资料,也得到了老师、同学的大力支持与帮助,我诚心的感谢他们!
 刚开始设计这套系统时遇到了好多难题。最主要的是不知从何入手,在指导老师的帮助下我对设计有了一个大概的了解。可是在具体编程时又遇到了不少的难题,有时一个很简单的内容不知为何就是不能运行,如果它得不到解决,后面的工作也无法进行。有时一天才解决一个小问题,效率很慢,真的有些想放弃了。可是经过老师、同学的帮助及自己的努力,在问题解决时,那种胜利的喜悦又是无法用言语来形容的。也就是在这种不断出现问题的灰心和不断解决问题的喜悦中,这套交友管理系统终于问世了。
 通过这个系统的制作,我体会到了ASP的优点,学以致用,是学习的目的,也是学习的最好方法。它使我对面向用户有了更新的认识,使我懂得得了只有越为用户着想,才会越受欢迎。也告诉我以后做事一定要系统化、结构化、思维一定要严密。因为任何计划,只有严密的思考加上反复的推敲才会更完善。
 最后,我再次感谢帮助过我的人,尤其是我的老师,是她使我走入了ASP的大门。这次设计只是一个开始,今后的路还有很长,我会加倍努力,争取设计出更多、更好、更实用的软件为大家提供服务。希望这套交友管理系统能真正发挥它的作用,为用户带来方便!

 参考文献
书名 作者 出版社 
《ASP+ACCESS组建动态网站》 刘韬、骆娟、何旭洪 人民邮电出版社 
《Visual Basic数据库开发实例精粹》 郭瑞军、唐邦民 电子工业出版社 
《网络数据库应用教程》 袁枚,林志英,刘劲 人民邮电出版社 
《网络程序设计—ASP》 尚俊杰 清华大学出版社 
《ACCESS应用技术教程》 史秀章 高等教育出版社 
《网络数据库应用教程》 林志英 人民邮电出版社 
《JAVA编程从基础到实践》 沈炜、杨世锡 电子工业出版社 

【ASP交友系统设计(一)】相关文章:

ASP在线教育系统(一)05-11

ASP05-29

ASP 3.0高级编程(二)05-29

学生信息管理系统设计开题报告07-20

基于PLC的断路器型式试验系统设计03-10

基于web的异地并行设计与制造系统研究06-02

消防联动控制系统(一)05-11

职工工资管理系统的设计与开发论文开题报告09-15

基于电话网络的热网远程控制系统设计05-11

双容水箱串级液位控制系统设计 开题报告07-30