资源描述
企业员工信息管理系统的设计与实现摘 要近年来,随着企业彼此间的竞争日趋激烈,信息管理技术在企业的发展中占据着越来越重要的地位。在企业的经营生产中,员工信息已成为企业经营管理中不可或缺的一部分,为管理者进行管理决策和进行各种人事调配活动提供了重要的依据,在生产分配安排中发挥了越来越重要的作用。通过分析企业员工信息管理的内容及特点,提出了企业员工信息管理系统的解决方案。系统基于B/S模式,采用ASP,Microsoft,Access,Dreamweaver作为主要开发工具进行开发。系统由员工信息上传模块、员工信息查询模块、员工信息删除模块、员工信息添加模块、员工信息分类模块、MD5加密模块等组成。 文章以需求分析、总体规划、模块划分、数据库设计与实现功能等为主线,详细介绍了基于B/S结构的企业员工信息管理系统。首先,根据企业员工信息管理的内容及用户特点对系统作了需求分析,其次,根据系统的实现功能和适用环境对系统作了总体规划,最后完成了模块的划分和数据库的设计与实现,并对系统进行了测试。关键词: 数据库;模块;ASPThe Design and Implementation of Employees Management Information SystemAbstractIn recent years, as enterprises in the increasingly fierce competition,information management technology in the development of enterprises plays increasingly important role. In the progress of Enterprises operating and production, the information of staffs has become a business management of most important part. It provides an important basis for the management of decision-making and personnel.By analyzing the content of enterprise information management staff and user characteristics, first the thesis produces the solution of enterprise file management of staff information system. The system is based on the B / S application platform, the current prevalence of ASP, Microsoft Access, Dreamweaver as a major development tool with staff information uploading module, staff information Query Module, staff information deleting module, module add staff information, staff information classification module, MD5 module and so on.This thesis will describe the needs analysis, overall planning, It introduced based on B / S structure. First it made analysis according to the content and feature of the enterprise information management system for the staff. Then it completed the module design and the design and realization of database and test according to the functions and main implementation for the system.Key words: database; module; ASP 1 引 言1.1课题背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。 在企业中用计算机管理信息的意义:现在,有很多企业的信息管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。作为计算机应用的一部分,使用计算机对信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 ASP简单易学且功能丰富,是广泛应用的计算机语言之一,它的发展为编程人员提供了更广泛的空间。作为前端应用程序开发环境的ASP在数据来源的维护、数据访问技术、国际网络和企业内部Internet应用程序等功能方面都有其独到之处。1.2国内外研究现状当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机ENINC(Electronic numerical integrator and calculator)于1946年在美国问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通的不能再普通的工具,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。 自20世纪50年代将计算机引入数据处理以来,历经管理信息系统发展的各个阶段。一方面是信息技术应用的迅猛发展,为社会节省了大量花在信息管理上的人力、物力、财力,信息管理系统作为一门融管理科学、信息科学、系统科学为主要方面,以人为主导,利用计算机硬件、软件、网络通信设备办公设备,进行信息的收集、传输、加工、存储、更新和维护,以及提高企业效率为目的一种集成化的人机系统。员工信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。1.3本课题研究的意义一个现代化的公司,拥有数千名的员工,那么如何管理这么庞大的职工信息档案呢?这时,开发一个功能完善的职工信息管理系统就必不可少了。所以需要设计开发一个实现职工信息查询、管理、更新为基本目标的系统。从职工信息的查询到管理实现了自动化的模式,从而提高了工作效率。员工信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以信息管理系统能够为用户提供充足的信息和快捷的查询手段。用ASP构建的企业员工信息管理系统,能实现员工信息的录入、修改、查找、删除、查询、编辑、等功能,此外,在程序中还设计了用户登陆,设定了密码,并由MD5加密,以确保系统应用的安全性。本管理系统设计合理、界面美观、操作方便、运行稳定,为进行现代化的企业员工信息管理工作起到了重要作用,具有较高的实用价值。2系统开发工具简介2.1 ASP简介随着网络技术的不断发展,Internet已经开始深入到人们的生活,目前Internet上的许多站点,仍然采用静态的技术为成千上万的用户提供信息,由于信息动态的本质,仅有静态的HTML是不够的,因此,需要有一种方法来访问Web站点的用户显示动态的信息。如今,基于Web/Internet的Intranet这改变着信息量系统的构成模式,现有的数据库系统和Web或Internet集成,使我们可以通过Internet的浏览器访问数据库中的信息,如何将数据库的信息发布到Web上,创建含有数据库信息量的动态网页,最常用的中间技术有CGI(通用网关接口)和API(应用程序接口)。但是CGI程序有效率低,速度慢的缺点;API虽然在某种程度上克服了CGI的缺点,但也具有兼容性差,开发难度大等缺点。微软公司在IIS 2.0种推出了IDC(即Internet Database Connector)组件,它可以很容易的实现Web与数据库的交互,但功能有限,不能完成复杂的Web数据库开发。于是,微软公司在IIS 3.0中引入了ASP技术,它将HTML、脚本和ActiveX组件相结合,创建高效的交互式Web页面和基于Web的应用程序,与CGI相比,ASP脚本非常简单,利用ActiveX组件很容易实现与数据库的连接。ASP是Active Server Page 的简写。直译的意思是动态服务器网页。从字面上来说,ASP包含三方面的含义:(1)Active:ASP使用了Microsoft的ActiveX技术,它采用了封装对象,程序调用对象的技术,简化编程,加强程序间的合作,ASP本身内置了一些基本组件和常用组件,也有和很多公司开发了许多使用组件,只要在Web服务器上安装好这些组件,通过访问组件就可以快捷方便的建立自己的Web应用。(2)Server:ASP运行在服务器端。由于这个原因,不必担心用户的浏览器是否支持ASP所使用的编程语言,ASP的语言可以是VBScript和JavaScript.但有需要注意的一点,Netscape浏览器不支持客户端的VBScript,所以不要在客户端使用VBScript。而在服务器端,则无需考虑这个问题。(3) Pages:ASP返回标准的HTML页,可以正常的在浏览器中显示。用户查看页面源文件时,看到的是标准的HTML页面,而不是ASP源代码,这样防止了源程序外泄。2.2 ASP的特点及运行环境ASP是一种服务器端的脚本环境,用它可以将HTML语言、脚本语言和ActiveX控件结合在一起,可以产生动态、交互且高效率的基于Web的应用程序。由于ASP使用基于开放环境的ActiveX技术,用户可以自己定义和制作组件加入其中,使自己的动态网页具有几何无限的扩充能力。他还可以利用ADO方便的访问数据库,能很好的对数据进行处理。从某种意义上讲,ASP是一种用附加特性扩展了的标准HTML文件。相对于别的Web应用开发来说,ASP具有如下特点: (1)无须Compile编译:容易产生,无须Compile 编译或Link 链接即可执行。集成于HTML中。 (2)使用常规文本编辑器,如Windows的记事本,即可设计。 (3)与浏览器无关(Browser Independence):用户端只要使用常规的可执行HTML码的浏览器,即可浏览Active Server Pages 所设计的主页内容,Script 语言(Vbscript ,Jscript)是在站点服务器(Server端)执行,用户不需要执行这些Script语言。 (4)面向对象(Object_Orient). (5)可通过ActiveX Server components(ActiveX服务器组件)来扩充功能。ActiveX Server component,可使用Visual Basic,Java,Visual C+,COBOL等语言来实现。 (6)Active Server Pages与任何AcTiveX scripting 语言兼容。除了可使 用VBscript 或JScript语言来设计,并可通过Plug-in的方式,使用由third party所提供的其他譬如REXX,perl,Tcl 等scripting语言。script引擎是处理script的COM(Component Object Model)对象。 (7)Active server Pages的源程序代码,不会传到用户的浏览器,因此可以 保护辛辛苦苦写出来的源程序不会外泻。传到用户浏览器的是Active Server Pages执行的结果的常规HTML码。(8)使用server端script产生client端script,你可以使用ASP程序码,在站点 服务器执行script语言(VBscript 或 Jscript),来产生或更改在client端 执行的script语言。ASP 提供内置的全局对象 REQUEST对象:用来读取来自浏览器请求信息,可用该对象读取 HTML 表单的信息。包含有关客户端的信息和一些参数;RESPONSE 对象:用来访问服务器扬创建的并发送信息到客户端的响应信息;SERVER对象:是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务,允许用脚本来生成 ACTIVE SERVER 组件的实例; APPLICATION 对象:用来存储、读取用户共享的应用程序信息,如可以用该对象在网站的不同连接者间传送共用消息; SESSION对象:用来存储、读取特定连接者的对话消息,如可存储连接者对网站的访问信息。目前ASP可运行在三种环境下。(1) WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。(2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。(3) WINDOWS 95/98运行PWS(Personal Web Server)。其中以NT server上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。2.3 脚本语言VBScript和JavaScript概述VBScript程序语言是Microsoft公司将VB(Visual Basic)程序语言加以简化,使其较易学习,且完全配合网页设计为发展重点,除去了有安全性顾虑的指令,诸如读写删除文件或执行系统调用程序等,使设计者可以放心在Internet上传送。此外,又加上适合其他操作平台的可移植性,并大大提升了执行效率,使Vbscript广受网页设计者的欢迎。如同VBA可以直接在Office内执行一样,Vbscript也可以直接在记事本或者其他编辑程序内编写并存盘,然后在该文件图标双击鼠标左键,即可直接进入浏览器(如IE)执行。Javascript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。 Javascript是由 Netscape公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用Javascript编写的程序需要能支持Javascript语言的浏览器。Netscape公司 Navigator 30以上版本的浏览器都能支持 Javascript程序,微软公司 Internet Explorer 30以上版本的浏览器基本上支持Javascript。微软公司还有自己开发的Javascript,称为JScript。 Javascript和Jscript基本上是相同的,只是在一些细节上有出入。 Javascript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。 同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。2.4 IIS服务IIS是Internet Information Server的缩写,它是微软公司主推的服务器,最新的版本是Windows2000里面包含的IIS 5.0,IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。 IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。IIS支持与语言无关的脚本编写和组件,通过IIS,就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开学习新的脚本语言或者编译应用程序,IIS完全支持VBScript,JScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器。 IIS的一个重要特性是支持ASP。IIS 3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。对于诸如VBScript,JScript开发软件,或者由Visual Basic,Java,Visual C+开发系统,以及现有的CGI和WinCGI脚本开发的应用程序,IIS都提供强大的本地支持。2.5 Dreamwever简介Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页. 同时利用Dreamweaver设计的网页,可以全方位的呈现在任何平台的热门浏览器上。它用于对 Web 站点、Web 页和 Web 应用程序进行设计、编码和开发。无论是喜欢直接编写 HTML 代码的驾驭感还是偏爱在可视化编辑环境中工作,Dreamweaver 都可以提供帮助良多的工具,丰富Web 创作体验。3系统设计3.1 设计思想为了满足用户的需求,该信息管理系统要实现以下目标。(1)模块要全部用B/S系统开发,用户无需在本地机器安装软件,就可通过浏览器登录系统进行操作。(2)模块采用ASP开发,具有完全的开放性,可以运行在任何支持ASP标准的服务器上,非常方便以后的维护和系统升级。(3)只要系统允许,用户可以在任何时间、任何地点办公,包括出差在外地都可以使用该系统。(4)模块维护费用很低,所有的维护操作只需要针对服务器进行,外地管理员只需要把服务器连接上网即可进行维护和升级,这对人力、时间、费用的节省是相当可观的。(5)模块采用Web服务器和数据库服务器分离的方式,系统的安全性和性能因此得到很大提高。(6)系统界面友好,使用方便,易操作。3.2 系统结构图企业内部信息管理网络的特点是利用BS结构,实现整个企业内部的信息化管理。这种系统的优势在于系统简单、功能强大、扩展能力良好以及跨地域的操作性能。ClinetServer模式与BrowserServer模式是现在比较流行的两种数据库模式,各有优缺点。ClinetServer模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而BrowserServer模式通过Internet进行通信,可以不受地域的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下速度较慢。从目前的开发技术来看,Browser端作为信息收集源,特别是大量的数据录入工作还不能完全取代Clinet端的用户界面。在这方面,Clinet的各种开发工具的功能更加强大,灵活,而且Browser端却由于功能结构的限定过于“瘦小”。 对于本系统,其功能目标是要求企业员工信息资源共享,同时要实现不同用户的权限的控制。由于系统数据收集实时性要求并不高,因此采用BrowserScrver结构来进行设计是比较合理可行的本系统的网络应用原理如下图所示:图3-1 本系统的网络应用原理3.3 模块间关系图下图是系统各模块的逻辑关系图图3-2 企业员工信息管理系统模块间关系图 3.4 模块划分本企业员工管理系统大致分为六个部分:(1)管理员模块本程序设若干主控管理员,根据需要可修改用户密码,也可添加用户,可添加任意多个操作员,可修改用户密码。(2)员工管理模块本程序可以浏览员工信息,;有查询功能,可以按姓名、部门等查询条件查找员工。当员工的个人情况发生变化需要修改时,可以方便地修改个人资料。(3)员工信息添加模块添加新的员工信息,并可以设置权限。(由管理员来添加新的员工)(4)员工信息查询模块在员工信息管理模块中,用户根据需要,可根据已有选项查询各种条件的员工。(5)员工信息删除模块删除不需要的员工信息。(6)员工信息修改模块有修改员工的个人信息和登陆密码等功能 。根据管理系统的功能结构划分,我将本管理系统的功能结构说明划分为两方面进行,即管理员用户管理模块和普通用户管理模块。这样的划分是基于由于权限不同而带来的功能的不同而来的,两个功能模块功能各异,在本系统中扮演着两个最重要的角色,二者功能相对独立但有彼此有紧密的联系,所以将系统功能划分为此两部分来阐述将有助于目标人群的理解和使用。(1) 管理员用户管理模块从系统登陆界面后,当输入正确的管理员用户信息后,系统便进入了管理员用户的管理模块中。超级用户管理模块包括了账户管理,权限设置,添加删除用户,高级查询这几个模块。在管理模块中,管理员用户可以利用自己的权限查看员工的所有信息,包括姓名、电话,家庭地址,部门,生日,QQ等。在账户管理模块中,我将超级用户设计为了最高权限,对于账户的管理中,包括了对于用户的添加和删除,而对于用户的添加这个模块内,包括了对普通用户和超级用户的添加。特别的,考虑到在企业中有可能有其他管理人员的存在,所以在设定个人信息的时候可以给员工设定一定的权限。(2)普通员工管理模块 从系统登陆界面选择用户登录框后,当输入正确的普通员工信息后,系统便进入了普通员工的管理模块中。普通用户管理模块包括了个人帐户管理,查看资料,查询信息,等几个模块。普通用户登陆系统后,能够按照多种查询方式查看员工资料和更改个人资料,方便员工的操作,也为管理员用户节省了大量的时间。 4数据库的设计与实现4.1 Access数据库简介Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。数据库的特点:(1) 具有最小的冗余度,即数据库尽可能不重复。(2) 资源共享性,即以最优的方式服务与一个或多个应用程序。(3) 数据独立性,即数据的存储尽可能独立于使用它的应用程序。(4) 安全可靠。(5) 保密性能好。在本系统中为了安全考虑,将ACCESS的扩展名改为.asp,或.asa等,这样即使别人知道了数据库路径,也无法下载,因为IIS把它们当作asp来解析,这样在一定程度上有了安全的作用。但是.ASA并不是合法的ACCESS数据库扩展名。真正的扩展名为:.mdb。4.2 数据库的需求分析根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构:用户信息:用户ID、登录名、用户姓名、密码、E-mail、部门、职位、内部电话、家庭电话、移动电话、QQ号、家庭住址、系统管理员权限、生日、财务管理员权限、性别、教育程度、备注。部门信息:部门编号、部门名称。职位信息:职位ID、职位名称所需要外部数据支持:用户权限信息:可以从系统用户信息数据库里获得。4.3 数据库各表设计表4-1 职位信息表字段名数据类型字段大小是否允许为空字段描述PositionNameText50否职位名称PositionIDText50否职位ID表4-2 部门信息表字段名数据类型字段大小是否允许为空字段描述DepartmentID长整型50否部门号DepartmentName文本50否部门名称表4-3 用户表字段名数据类型字段大小是否允许为空字段描述LoginIDText50否登录名NameText50否用户名PasswordText50是用户密码EmailAddressText50是邮件地址DepartmentText50否所属部门PositionText50否用户职位InternalPhoneText50否内部电话HomePhoneText50是家庭电话MobilePhoneText50是移动电话qqText50是QQ号码HomeAddressText50是家庭地址IsSystemManagerText50否管理员权限BirthdayText50是生日IsFinancialManagerText50否财务管理员权限SexText50是性别EducationText50是教育程度RemarkText50是备注4.4 数据库创建后台系统数据库的配置是通过ODBC数据源接口来实现的。打开系统ODBC数据源管理器,选中系统DSN标签,按“添加”按钮后出现创建新数据源对话框。然后选择Microsoft Access Driver,单击“完成”按钮,并且在ODBC Microsoft Access安装对话框里填写新的数据源的名称,从文件里选择系统数据库文件。这样我们就建立了一个新的数据源。后面我们就可以在ASP程序里面随时引用这个数据源了。微软公司的Access数据库本身并不是一个数据库服务器,它不能用服务器来运行查询。对于数据庞大的情况,Access本身不是一个很好的选择。另外一个要考虑的是数据库的安全性问题。Access比起SQL Sever而言,总体的安全性能要低。但是从应用的角度而言,Access数据库易于使用,而且在创建和配置上,Access数据库都比SQL要方便。综合上面的考虑,我在创建的时候采用了Access作为系统的后台数据库,同时也可以把Access改成SQL Sever,在对于不同的后台数据库时,只需要修改很少的一些地方。4.5 数据库连接数据库连接主要代码为:set conn = server.createobject (adodb.connection)conn.open Driver=Microsoft Access Driver (*.mdb);DBQ= & Server.Mappath(./Datasource/Datasource.mdb)5系统代码介绍5.1 前台界面各表单元素设计登陆页面所使用的表单元素如表5-1:表5-1登陆页面所使用的表单元素名称表单元类型Value含义UsernameText否用户登陆名PasswordText否用户密码LoginSubmit登陆提交表单ResetReset重设重置表单员工信息管理所使用的表单元素如表5-2:表5-2员工信息管理所使用的表单元素:名称表单元类型Value含义Send toRadioAllEmployeeinformation查询所有员工信息DepartmentEmployeeinformatin查询部门员工信息OneEmployeeinformation查询某个员工信息Departmentmanager查询部门主管信息ModifyPersonalInformation修改我的信息SystemManager系统管理员选项AllOrderRadioName按姓名排序Department按部门排序Birthday按生日排序DepartmentNameSelect从数据库查出SelectFromRadioFromListType从列表中选择要查询的员工或者用户入要查的员工姓名TypeNameText用户自己输入的要查询名字SystemOrderRadioName进入系统管理员页面后,所有用户记录的排序方法DepartmentBirthdayPositionSendSubmit进入选项 修改个人信息所用的表单元素如表5-3:表5-3修改个人信息所用的表单元素名称表单元类型Value值含义NameText根据当前用户记录显示姓名EmailAddressText根据当前用户记录显示电子邮件地址InternalPhoneText根据当前用户记录显示内部分机号码MobilePhoneText根据当前用户记录显示移动电话号码HomePhoneText根据当前用户记录显示家庭电话BirthdayYearSelect根据当前用户记录显示生日年份BirthdayMonthSelect根据当前用户记录显示生日月份BirthdayDaySelect根据当前用户记录显示生日日期HomeAddressText根据当前用户记录显示家庭住址PasswordPassword空当前密码NewPasswordPassword空输入新密码ConfirmNewPasswordPassword空确认新密码SendSubmit修改个人信息提交表单 系统管理员页面所使用的表单元素如表5-4:表5-4系统管理员页面所使用的表单元素名称表单元类型Value值含义SelectWhoRadioEmployeeInformation(“LoginID”)标记被选中的系统用户ModifySubmit修改此用户信息提交修改用户信息表单DeleteSubmit删除此用户信息提交删除用户信息表单AddSubmit添加新用户信息提交添加用户信息表单添加新用户页面所使用的表单元素如表5-5:表5-5添加新用户页面所使用的表单元素名称表单元类型Value值含义LoginIDText空登陆名NameText空姓名PasswordPassword空密码DepartmentSelect从数据库中查出部门PositionSelect从数据库中查出职位EmailAddressText空电子邮件地址InternalPhoneText空内部分机号码MobilePhoneText空移动电话号码HomePhoneText空家庭电话QQText空QQ号HomeAddressText空家庭住址BirthdayYear/Month/DaySelect根据当前用户记录显示生日年月日IsSystemManagerSelectTrue/False是否系统管理员IsFinancialManagerSelectTrue/False是否财务管理员AddSubmit添加新用户信息提交添加新用户表单修改用户信息页面所使用的表单元素如表5-6:表5-6修改用户信息页面所使用的表单元素名称表单元类型Value值含义LoginIDText根据选中用户从PSLogins中查出登陆名NameText空根据选中用户从PSLogins中查出姓名PasswordPassword根据选中用户从PSLogins中查出密码DepartmentSelect从Department中查出部门PositionSelect从Positions中查出职位EmailAddressText根据选中用户从PSLogins中查出电子邮件地址InternalPhoneText根据选中用户从PSLogins中查出内部分机号码MobilePhoneText根据选中用户从PSLogins中查出移动电话号码HomePhoneText根据选中用户从PSLogins中查出家庭电话QQText根据选中用户从PSLogins中查出QQ号HomeAddressText根据选中用户从PSLogins中查出家庭住址BirthdayYear/Month/DaySelect缺省提供生日年月日IsSystemManagerSelect根据选中用户从PSLogins中查出是否系统管理员IsFinancialManagerSelect根据选中用户从PSLogins中查出是否财务管理员ModifySubmit修改用户信息提交修改用户表单5.2 登陆页面为提高系统的安全性,防止非法用户进入本系统,本系统设有用户登陆界面,并设立密码,合法用户可以在系统维护里面的用户修改里面自行设立用户名和密码,系统默认的管理员户名为“admin”,密码为“123”。系统的用户密码更改界面如下:图5-1 系统登陆页面login.asp系统登陆页面Login.asp使用表单向自身提交表单信息,并对用户身份判断,从而做出相应的反应。 系统登录页面有3种的状态:(1) 用户第一次进入系统登录系统页面。(2) 用户已经提交登陆信息,登陆页面做出反馈。(3) 系统用户已多次提交了登陆信息根据系统设置可以停止用户的登录。 对于系统而言首先应该判断用户是否足第1次进入页面。如果是第1次进入页面,则向用户显示登陆窗口,并记录提交登陆信息的次数。这里我们使用一个字符串变量TheMessage来记录显示系统对用户各项操作的反馈和提示:if isempty(Request.Form(Login) then Session.abandonSession(NumAttempts) = 1如果是已提交登陆信息,则对用户提交的信息进行字符串格式判断,不能含有“”字符。然后建立和系统数据库的连接。If Instr(TheUsername, )=0 and Instr(ThePassword, )=0 and Instr(TheUsername, )=0 _ and Instr(ThePassword, )=0 thenset conn = sever.creatcobject(“adodb.connection”)conn.open”ASPData”,”Cool”,”yourpassword”然后根据用户提供的登陆信息,在系统数据库用户信息表里进行匹配查询。set RSLogin = conn.Execute(select * from PSLogins where & LoginID = _ & TheUsername & and & Password = & ThePassword & )如果无法匹配用户的登陆信息,那么记录用户登陆次数:if RSLogin.EOF thenSession(NumAttempts) = Session(NumAttempts) + 1如果登陆成功,记录下用户的详细信息,并且导入系统主页:Session(ID) = RSLogin(LoginID)Application(ID) = RSLogin(LoginID)Session(Name) = RSLogin(Name)Session(Password) = RSLogin(Password)Session(Department) = RSLogin(Department)Session(EmailAddress)=RSLogin(EmailAddress)Session(Position)=RSLogin(Position)Session(InternalPhone)=RSLogin(InternalPhone)Session(HomePhone)=RSLogin(HomePhone)Session(MobilePhone)=RSLogin(MobilePhone)Session(QQ)=RSLogin(QQ)Session(Birthday)=RSLogin(Birthday)Session(HomeAddress)=RSLogin(HomeAddress)Session(IsSystemManager)=RSLogin(IsSystemManager)Session(IsFinancialManager)=RSLogin(IsFinancialManager)注意:Global.asa的是存放在Web应用程序根目录下的个文本文件,在该文本文件中,可以定义各种事件。利用这些事件,可以运行自己的代码,或者创建贯穿于整个应用程序寿命周期或者来访者逗留期间的变量。在Globa1.asa文件中的代码如下: Sub Application_OnStartApplication(AllowAdds) = NOApplication(NumAttempts) = 3 session.timeout=1在Global.asa里声明了Application 对象的NumAttempts的值,这个值的含义是允许用户登陆的次数。具体登陆流程见下图:开始登陆界面判断完整输入不完整数据核对输入信息输入错误进入系统结束YESNOYESNO数据库中得到数据图5-2 系统登陆流程5.3 系统主页面主要代码:TheMessage=请选择您想进入的功能模块if isempty(Session(ID) thenResponse.Redirect ./login.aspend if以上代码是实现对用户身份进行判断,如果用户通过了系统登陆页面的验证,那么服务器分配给这个用户的会话对象(Session)的ID字段里,便不会为空。= #12:00:00 AM# And Time = #12:00:00 PM# And Time ,欢迎您访问!今天是提供了显示时间,用户名的功能。5.4 信息选择界面 图5-3 信息选择页面EmployeeInformation.asp如图,用户可以通过选择不同的单选按钮,进行相应的用户信息查询或者管理功能。此页面具体功能描述为: 按照不同的排序查询所有员工记录。 选择查询某一个部门的全部员工的记录。选择查询某一个员工的记录。 选择查询各个部门主管记录。 选择修改用户自己的员工记录。 选择进入系统管理员选项。首先是对连接到此页面的用户进行身份鉴别,如果已经登陆,则可以浏览此页面;否则重新导向系统登陆页面:if isempty(Session(ID) thenResponse.Redirect ./login.aspEnd if如果用户希望查询某个部门员工信息elseif Request.Form(SendTo) = DepartmentEmployeeInformation thenSet RSEnquiryResult = conn.Execute(select * from PSLogins where Department = _ & Request.Form(DepartmentName) & order by Position )TheMessage = Request.Form(DepartmentName) & 全部员工信息如下label=true5.5 管理员主界面用户登陆到这个页面的时候,一开始就会对用户进行身份鉴别。需要注意的是我们可以通过对Requset对象的Form集合里的表单元素进行IsEmpty的判断具体查看SendTo的值,如果SendTo的值为DepartmentEmployeeInformation说明用户要查询某个部门的相关员工信息,如果SendTo的值为AllEmployeeInformation就是查询全部员工信息5.6 用户添加界面图5-4 用户添加界面AddNewUsers.asp首先对连接到此页面的用户进行身份鉴别,如果已经登陆并且具备系统管理员的身份,则可以浏览此页面,否则重新导向系统登陆页面:if isempty(Session(ID) or Session(IsSystemManager)=false thenResponse.Redirect ./index.aspend if本页有两种情况,一种是用户第一次进入页面,此时不作任何操作;一种是用户单击了添加新用户信息(Add)按纽,此时ASP代码要对用户提交的新用户信息的表单进行校验。其中登陆名(LoginID)、用户姓名(Name)和用户密码(Password)不能为空。校验通过,则将新用户的信息插入数据库中。if len(ThePassword)=0 or len(TheName)=0 or len(TheLoginID)=0 thenTheMessage=登录名,姓名,密码不能为空,无法添加新用户elseconn.Execute insert into PSLogins (LoginID, Name, Password, EmailAddress, _ & Department, Position, Birthday, HomePhone, QQ, HomeAddress, _ & InternalPhone, MobilePhone) values ( _ & & TheLoginID &, _ & & TheName &, _ & & ThePassword &, _ & & TheEmailAddress &, _ & & TheDepartment &, _ & & ThePosition &, _ & & TheBirthday &, _ & & TheHomePhone &, _ & & TheQQ &, _ & & TheHomeAddress &, _ & & TheInternalPhone &, _ & & TheMobilePhone &
展开阅读全文