资源描述
目录摘要2第一章 前言3第二章 编程环境基础知识42.1 IIS与ASP的结合42.2 ASP的内部特点42.2.1 Request对象42.2.2 Response对象52.2.3 Session对象:52.2.4 Application对象62.2.5 Server对象:62.3 利用ADO访问数据库72.4 ASP与CGI的比较9第三章 需求分析1031功能需求1032 性能需求10第四章 总体设计1141系统模块结构设计114.1.1 主要功能模块114.1.2 系统功能结构图114.1.3 模块功能介绍1242 数据库设计124.2.1 概念结构设计124.2.2 逻辑结构设计1343数据库的实现13第五章 详细设计175.1导航模块详细设计175.2运单查询模块详细设计175.3 物流服务模块设计235.4 新闻动态模块设计245.5后台登录模块设计275.6 初始化信息管理模块设计295.7 公司简介管理模块设计305.8 运单管理与添加模块设计325.9 联系我们模块设计345.10招聘信息模块设计355.11分公司管理模块设计36第六章 测试和维护37结束语38致谢39参考文献39摘要据调查:75-85%的上网用户通过搜索引擎和商业网站寻找新客户。可见,搜索引擎的登录和商业网站的发布已经成为企业网站盈利的手段。互联网正在融入我们的生活,并影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,企业物流平台正是一个供客户与企业进行交流的网上虚拟空间。及时与客户进行沟通和交流,对于企业来说是相当重要的。【关键词】 企业物流平台、物流服务、运单查询第一章 前言l 经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合化等趋势,对我国物流业的发展提出了全方位的挑战。面对跨国企业不断渗透中国物流市场的严峻形势,我国物流业走高科技之路势在必行。我国国民经济连续多年高速增长,为我国现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,中小型企业占大多数。在如此强烈竞争的环境下,要想取得一席之地,各企业在目前良好服务的基础之上,需提高企业的运营效率和自身管理水平。人工管理早已不再适应企业发展的要求,利用计算机网络对企业运营流程进行全方位的管理迫在眉睫。通过计算机网络对企业进行管理,不仅为企业的运营过程节省了大量的时间,提高了企业的效率,还为企业在客户群中树立了一个全新的形象,为企业日后发展奠定一个良好的基础。第二章 编程环境基础知识Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS5.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。2.1 IIS与ASP的结合在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法做出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:1.减少构建和维护成本2.加快联机过程3.应用软件集中在服务器端开发管理4.前端可使用任何浏览器(IE、Netscape.)5.后端可存取任何数据库 (SQL、Access.)6.可使用任何脚本语言开发 (VBScript、JavaScript、PERL.)2.2 ASP的内部特点2.2.1 Request对象(1)Request对象的集合Form:用于检索HTTP请求正文中表单元素的值 QueryString:用于检索HTTP查询字符串中变量的值ServerVariables:用于检索预定的环境变量的值ClientCertificate:用于检索存储在发送到HTTP请求中客户端证书中的字段值Cookies:用于检索在HTTP请求中发送的Cookie的值(2)Request对象的方法Request对象只有一个方法:即BinaryRead。该方法以二进制方式来读取客户端使用POST传送方法所传递的数据。(3)Request对象的作用读取网址参数读取表单传递的参数读取Cookie的数据读取服务器环境变量上传文件2.2.2 Response对象:用于向客户端浏览器发送信息,或者将访问者转移到另一个网址,并可以设置和控制Cookie信息等。(1)Response对象的集合Response对象只有一个集合,即Cookies集合。(2)Response对象的方法Write:将变量作为字符串写入当前的HTTP输出Redirect:将重指示的信息发送到浏览器,尝试连接另一个URLClear:清除任何缓冲区的HTML输出End:停止处理.asp程序,并返回当前的结果(3)Response对象的作用输出内容到网页(客户端)网页重定向写入Cookie下载文件2.2.3 Session对象:存储一个会话内的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或者通过脚本设置中止的期限。(1)Session工作作原理在一个应用程序中,当客户端启动一个Session时,ASP会自动产生一个长整数SessionID,并且把这个SessionID送回给客户端浏览器,浏览器会把这个SessionID存放在Cookies内。当客户端再次向服务器送出HTTP请求时,ASP会去检查申请表头的SessionID,并返回该SessionID对应的Session信息。(2)Session对象的集合Contents:包括已用脚本添加到会话中的项目,Contents是Session对象的默认集合Staticobjects:包含通过标记创建的并给了会话作用域的对象,这些对象在Global.asa文件中创建(3)Session对象的方法Abandon:破坏Session对象并释放其资源Contents.Remove:从Contents集合中删除一个项目Contents.RemoveAll:从Contents集合中删除所有项目(4)Session对象的作用l 存储与某次访问相关的信息l 设置这个访问的代码页,日期格式等2.2.4 Application对象:在一个ASP应用中让不同客户端共享信息。Application对象是在为响应一个ASP页的首次请求而载入Asp.dll时创建的,它提供了存储空间用来存放变量和对象的引用,可以用于所有的页面,任何访问者都可以打开这些页面。(1)Application对象的集合Contents:含所有通过脚本命令添加到应用程序中的项目Staticobjects:含通过OBJECT标记创建的并给了应用程序作用域的对象(2)Application对象的方法Lock:禁止其他客户修改Application对象的属性Unlock:允许其他客户修改Application对象的属性(3)Application对象的作用存储应用程序级全局变量锁定与解锁全局变更网站计数器2.2.5 Server对象:提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许在当前页的环境或会话中在服务器上实例化其他COM对象。(1)Server对象的集合Server对象仅支持ScriptTimeout属性,用于指定超时值,在脚本运行超过这一时间之后即作超时处理。(2)Server对象的方法CreateObject:创建服务器组件的实例Execute:执行一个.asp文件MapPath:将指定的虚拟路径,无论是当前服务器上的绝对路径,还是当前页的相对路径,映射为物理路径Transfer:将当前所有的状态信息发送给另一个.asp文件进行处理(3)Server对象的作用创建组件实例获取服务器的物理路径对字符串进行HTML编码转向执行其他ASP文件2.3 利用ADO访问数据库ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:1创建数据库源名(DSN)2创建数据库链接(Connection)3创建数据对象4操作数据库5关闭数据对象和链接每一步的作法如下:1、创建数据源名DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。2、创建数据库链接(Connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:set Conn=Server.createObject(“ADOBD.CONNECTION”)这条语句创建了链接对象Conn,接下来:connstr=Provider=Microsoft.Jet.OLEDB.4.0;Data.Source=&Server.MapPath(&db&)conn.Open connstr这条语句打开链接,用到了DSN,本例为“connstr”。以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。3、创建数据对象(Record Set)ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:Set Record Set=Conn.Execute(sqtStr)这条语句创建并打开了对象Record Set,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SQL语句。例如:rs=“SELECT * FROM shop_books”Set Record Set=mConn.Execute(rs)这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。4、操作数据库我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:rs=“INSERT INTO tab1 VALUES(1,2)”mConn.Execute(rs)/执行插入操作5、关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。Record Set.closeSet Record Set=Nothing/关闭创建的数据对象mConn.closeSet mConn=Nothing/关闭创建的链接对象2.4 ASP与CGI的比较CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。Active Server Pages开发Web应用程序的特点:1 完全嵌入HTML,与HTML、Script语言完美结合。2 无须手动编译和链接程序。3 面向对象,并可扩展ActiveX Server组件功能。4 使用脚本语言(JavaScript、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作为个性化页面生成器的开发工具。第三章 需求分析31功能需求q 通过网络,全面展示企业的形象。q 全面介绍企业的服务项目。q 发布企业的招聘信息、企业新闻等。q 分公司及时填写分公司货物运营情况,并对分公司用户密码进行维护。q 为客户提供在线查询运单信息及物品托运情况的功能。q 通过后台对企业一系列新闻信息(公司简介、新闻信息、服务项目信息)进行管理。q 通过后台,企业对客户运单信息进行全面管理。q 通过后台,企业对分公司、分公司管理员信息进行管理。q 管理企业的招聘信息。q 由于操作人员的计算机知识普遍较差,要求网站有良好的操作界面。q 当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。q 系统退出。32 性能需求企业物流管理平台使物流企业走上了科学化、网络化管理道路。q 经济性全面展示企业的经营管理模式,为企业带来更多的客户资源,提高企业的经济效益。通过计算机网络对运单进行管理,方便客户对货物托运情况进行查询,及时和客户进行沟通,满足客户的需求。q 技术性在管理过程中,满足了企业全程跟踪物品的托运情况的要求(分公司及时添加货物的运输情况),使企业能够根据实际情况,对企业运营过程中的各项准备工作,作出及时准确的调整。第四章 总体设计41系统模块结构设计4.1.1 主要功能模块企业物流平台是一个典型的数据库开发应用程序,由客户前台浏览和企业后台管理两大部分组成。q 前台功能模块前台主要包括公司简介、物流服务、信息查询、新闻动态、招聘信息、联系我们、分公司登录入口,后台登录入口。q 后台管理模块后台主要包括后台登录模块、初始化信息模块、公司简介管理模块、仓储服务管理模块、运输服务管理模块、配送服务管理模块、运单管理模块、新闻管理模块、招聘信息管理模块,分公司管理模块、联系我们、退出后台。4.1.2 系统功能结构图物流管理系统前台公司简介物流服务运单查询新闻动态招聘信息联系我们首页行业新闻物流服务里程查询运单查询公司简介仓储服务营运服务配送服务运单查询分公司登陆公司新闻行业新闻招聘信息联系我们公司简介前台系统功能结构图物流公司后台管理初始化信息公司简介管理仓储服务运输服务配送服务运单管理新闻管理分公司管理招聘信息联系我们后台系统结构功能图4.1.3 模块功能介绍1.前台页面主要包括以下功能模块:q 网站导航:主要功能是页面导航。q 里程查询模块:主要功能是用于计算两个城市之间里程。q 运单查询模块:主要功能是通过运单ID号进行运单详细信息的查询。q 客服电话模块:主要用于展示客服电话号码。q 公司新闻模块:主要用于展示公司最新信息。q 行业新闻模块:主要用于展示最新的行业信息。q 后台登录入口:为用户进入后台提供一个入口。2.后台页面主要包括以下功能模块:q 后台登录模块:主要用于管理员登录网站后台。q 初始化信息模块:主要包括管理员信息修改、系统名称修改两部分。q 公司简介管理模块:主要用于公司简介内容的修改。q 仓储服务管理模块:主要用于仓储服务内容的修改。q 运输服务管理模块:主要用于运输服务内容的修改。q 配送服务管理模块:主要用于配送服务内容的修改。q 运单管理模块:主要包括运单查询、运单添加、运单修改、运单删除4部分。q 新闻管理模块:主要包括新闻查询、新闻添加、新闻修改、新闻删除4部分。q 招聘信息管理模块:主要用于招聘信息内容的修改。q 分公司管理模块:主要包括分公司添加、分公司删除、分公司修改,分公司管理员添加,分公司管理员修改(用户名不能修改),分公司管理员删除,对分公司管理员进行分 类查看7部分。q 退出后台管模块:退出后台管理程序。42 数据库设计4.2.1 概念结构设计编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号、符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,并指定计算机处理的内容等。本系统内部信息编码采用了统一的编码方式情况。4.2.2 逻辑结构设计本系统数据库采用Access数据库,系统数据库名称为db。数据库db中包含7张表。下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。1数据表概要说明从设计角度出发,对本系统后台的数据库中数据表有一个更清晰的认识,我设计了一个数据表树型结构图(如表1所示),该数据表树型结构图包含系统所有数据表。表1 数据表树型结构图43数据库的实现(1)new(新闻表)新闻表主要用于保存新闻信息,该表结构如表B.1所示。表B.1 new的结构字段名数据类型长度主键否描述id自动编号是自动编号lei文本50否新闻类别title文本50否新闻标题content备注否新闻内容time日期/时间否新闻发布时间(2)news(信息表)信息表主要用于保存各类信息内容,该表结构如表B.2所示。表B.2 news的结构字段名数据类型长度主键否描述id自动编号是自动编号title文本50否发布类型content备注否信息内容(3)yundan(运单表)运单表主要用于保存运单信息,该表结构如表B.3所示。表B.3 yundan的结构字段名数据类型长度主键否描述Id自动编号是自动编号nid文本50否运单编号start文本50否寄件地点mudidi文本50否目的地ctime文本50否出发时间qs文本50否签收人/未签收原因qstime文本50否签收日期zhuangtai文本50否派送状况fgzhuangtai文本50否寄件地点fg文本50否指定分公司派送fgtime文本50否到达分公司时间fgqs文本50否到达分公司的签收人/未签收原因beizhu备注否备注time日期/时间否审核日期(4)fuser(分公司管理员)分公司管理员表主要用于保存分公司管理员信息。该表结构如表B.4所示。表B.4 fuser的结构字段名数据类型长度主键否描述id自动编号是自动编号username文本50否用户名userpwd文本50否用户密码fengongsi文本50否所属公司(5)admin(管理员表)管理员表主要用于保存管理员相关信息。该表结构如表B.5所示。表B.5 admin结构字段名数据类型长度主键否描述id自动编号是自动编号admin_name文本50否管理员名称admin_pwd文本50否管理员密码title文本50否系统名称(6)fgongsi(分公司表)分公司表主要用于保存分公司信息。该表结构如表B.6所示。表B.6 fgongsi结构字段名数据类型长度主键否描述id自动编号是自动编号fengongsi文本50否分公司名称(7)zhaopin(招聘表)招聘表主要用于保存相关招聘信息。该表结构如表B.7所示。表B.7 结构字段名数据类型长度主键否描述id自动编号是自动编号content备注80否分公司名称time日期/时间否发布日期第五章 详细设计5.1导航模块详细设计导航是网站设计不可缺少的基础元素之一,它不仅是信息结构的基础分类,也是浏览者的网站路标。网站导航有很多种,如带图标的文字导航、按钮导航、Flash导航等。网站导航设计效果页面如图所示。图5.2运单查询模块详细设计运单查询模块主要包括运单查询、分公司登录两个部分。1运单查询页面首先进入运单查询页面,输入正确的运单编号,单击【提交】按钮,即可以在页面中显示查询所对应运单编号的详细信息。该页面的设计效果如图所示。图运单查询页面所涉及到的程序代码如下:% 获取运单编号if request(nid)then 判断是否接收到表单值nid=request(nid) 将变量赋值else nid= 清空变量值end if Set Rs = Server.CreateObject(ADODB.Recordset) 获取记录集,查询符合条件的相关信息Sql = Select * From yundan where nid=&nid&Rs.Open Sql,conn,1,1%2登录分公司管理页面分公司管理页面的主要功能是,查看运单的所有详细信息、修改用户密码、签收运单3部分,该页面的设计效果如图所示。图登录分公司管理页面所涉及到的程序代码如下:% if request(action)=login then 判断是否接收到表单值username=request(username) 接收用户名userpwd=request(userpwd) 接收用户密码username=trim (request(username) 通过trim函数去掉字符的左右两端空格 password=trim(request(userpwd) for i=1 to len(username) 通过len函数计算用户名的长度 user=mid(username,i,1) if user= or user=% or user= or user=& or user=| thenresponse.write & alert(您的用户名含有非法字符,请重新输入!); & history.back() & response.end end if next for i=1 to len(password) pass=mid(password,i,1) if pass= or pass=% or pass= or upass=& or pass=| thenresponse.write & alert(您的密码含有非法字符,请重新输入!); & history.back() & response.end end if next%set rs=server.createobject(adodb.recordset)sql=select * from fuser where username=&username& and userpwd=&userpwd&rs.open sql,conn,1,3 if rs.eof then 判断输入的用户名和密码是否正确 response.write 对不起,您输入的用户名或者密码有误!返回 else session(username)=request(username) 创建session变量 session(loc)=1 设置默认值 response.Redirect(chaxunguan.asp)end if rs.closeset rs=nothingconn.closeset conn=nothingend if %登录分公司管理页面的运行结果如图所示。图3运单签收管理页面这里所说的签收是指运单的签收过程,首先由分公司的人负责签收货物,当货物到达目的地时再进行签收。运单签收管理页面的设计效果如图所示。图运单签收管理页面涉及到的HTML重要表单元素如表所示名称类型含义重要属性form1form表单method=post action=qssave.aspuanzeselect签收类型id=xuanze onChange=MM_jumpMenu(parent,this,0)fgzhuangtaiselect派送状态id=fgzhuangtaifgqstext签收人class=kuang id=fgqs value=fgtimetext签收时间class=kuang id=fgtime value=posthidden隐藏域id=post value=form2form表单method=post action=qssave2.aspxuanzeselect签收类型id=xuanze onChange=MM_jumpMenu(parent,this,0)qstext签收人class=kuang id=qs value=qstimetext签收时间class=kuang id=qstime value=Submit3submit【提交】按钮value=提交Submit22reset【重置】按钮value=重置post2hidden隐藏域id=post2 value=运单签收时,必须写清签收人以及签收时间。此功能主要是为证明该运单已成功达到分公司。判断运单是否到达分公司时所涉及到的相关程序代码如下:% if session(username)= then 判断用户名是否为空response.Write(您还没有登录,请登录)response.endend ifif request(fgzhuangtai)=到达 thenif request(fgqs) and request(fgtime) then 判断签收人、签收时间是否为空set rs=server.CreateObject(adodb.recordset)sql=select * from yundan where id=&request(post)rs.open sql,conn,1,3rs(fgzhuangtai)=request(fgzhuangtai)rs(fgqs)=request(fgqs) 接收签收人rs(fgtime)=request(fgtime) 接收签收时间rs.updateresponse.Write(签收成功,关闭)elseresponse.Write(alert(请把信息填写完整);location=javascript:history.go(-1)end ifelseresponse.Write(alert(未选择到达,不能提交签单);location=javascript:history.go(-1)end if%运单是否到达目的地页面所涉及到的程序代码如下:% if request(zhuangtai)=到达 thenif request(qs) and request(qstime) then 判断是否到达目的地,并获取签收人、签收时间set rs=server.CreateObject(adodb.recordset)sql=select * from yundan where id=&request(post)rs.open sql,conn,1,3rs(zhuangtai)=request(zhuangtai)rs(qs)=request(qs) 接收签收人rs(qstime)=request(qstime) 接收签收时间rs.updateresponse.Write(签收成功,关闭)elseresponse.Write(alert(请把信息填写完整);location=javascript:history.go(-1)end ifelseresponse.Write(alert(未选择到达,不能提交签单);location=javascript:history.go(-1)end if %运单签收管理页面的运行结果如图所示。图在进入分公司管理模块时,在修改用户密码时,用户名是不可以修改的。系统登录时对输入的用户名和密码进行了非法字符的检索。相关程序代码如下:%if user= or user=% or user= or user=& or user=| then 判断用户名是否含有非法字符response.write & alert(您的用户名含有非法字符,请重新输入!); & history.back() & response.endend ifnextfor i=1 to len(password)pass=mid(password,i,1)if pass= or pass=% or pass= or upass=& or pass=| then 判断密码是否含有非法字符response.write & alert(您的密码含有非法字符,请重新输入!); & history.back() & response.endend if%5.3 物流服务模块设计物流服务模块主要包括仓储服务、货运服务、配送服务3个部分。仓储服务、贷运服务、配送服务3部分主要用于介绍服务项目和服务条款。所涉及的相关程序代码如下:% function HTMLcode(fString) if not isnull(fString) then fString = Replace(fString, CHR(13), ) 应用Replace函数返回指定数目的某字符串被替换为另一个字符串 fString = Replace(fString, CHR(10) & CHR(10), ) fString = Replace(fString, CHR(10), )fString = Replace(fString, CHR(32), ) HTMLcode = fStringend ifend function if request(newsname)= then 判断是否接收到新闻名称newsname=仓储服务 设置默认值elsenewsname=request(newsname) 将接收到的值赋值给指定变量end ifset rs=server.CreateObject(adodb.recordset)sql=Select * from news where title=&newsname& 查询相关新闻标题rs.open sql,conn,1,1%应用get方法进行传值 %5.4 新闻动态模块设计新闻动态模块主要包括公司新闻、行业新闻两个部分。新闻动态模块主要包括公司新闻、行业新闻两部分,用于展示公司最新信息和最新的行业信息。新闻动态页面的设计效果如图所示。图新闻动态模块的程序代码如下:maxpage then 在接收页码的值大于最大页码时,使其等于最大页码requestpage=maxpageend if if not requestpage=1 then 向上或向下移动相应的记录rs.move (requestpage-1)*rs.pagesizeend if for i=1 to rs.pagesize and not rs.eof 利用循环输出数据% a href=javascript: onClick= window.open(open.asp?id=,scrollbars=yes,width=300,height=300)1新闻的分类显示在新闻动态页面中,新闻分为公司新闻、行业新闻两类,并对新闻进行分类显示。新闻分类显示页面的设计效果如图所示。图新闻主要分为公司新闻、行业新闻两类。在同一页面中分别将其同时显示出来。新闻分类显示页面所涉及到的相关程序代码如下:新闻分类显示页面的运行结果如图所示。图点击相应的新闻标题,进入相关新闻的详细信息页面。实现此功能的相关程序代码如下:%用于打开一个指定的窗口,该窗口有水平滚动条和垂直滚动条a href=javascript: onClick= &_window.open(open.asp?id=,scrollbars=yes, width=400,height=350)%执行以上两处代码,将得到以下运行结果如图所示图5.5后台登录模块设计管理员通过后台登录入口进入后台登录模块,后台登录模块主要用于验证管理员的身份和密码。后台登录模块的设计效果如图所示。图 用户名:密码: t
展开阅读全文