电子商城系统毕业设计

电子商城系统毕业设计

ID:866300

大小:884.03 KB

页数:58页

时间:2017-09-21

上传者:^_^
电子商城系统毕业设计_第1页
电子商城系统毕业设计_第2页
电子商城系统毕业设计_第3页
电子商城系统毕业设计_第4页
电子商城系统毕业设计_第5页
资源描述:

《电子商城系统毕业设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

第一章前言随着Internet的迅猛发展,电子商务已逐渐走向千家万户,它已经开始影响人们的日常生活的各个方面,同时我们也开始意识到其中蕴含的巨大商机及商业价值,并开始投身于电子商务活动。电子商务可以通过IE浏览器,实现消费者的网上购物,卖家及中介人之间的交易,它是在线网银支付的一种新型商业运营模式。电子商务是网络技术应用的全新发展方向。Internet本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值。它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。电子商城的崛起对传统的购物方式体系产生了强烈的冲击,有效地缩短了货物发行环节,将广大消费者和营销商紧密地结合在一起,大大提高了物质流通率。淘宝网以及当当网已经为我们做出了巨大的榜样,它也告诉我们,在网上开设商城是完全可行的,电子商城利用网络这个平台出售各式各样的货物,其中包括电子产品,食品,化妆品,服装,宠物等,实现了坐在家里就可以轻松购物。顾客可以通过网站浏览到各式商品,使用网银直接选购其所需要的商品,通过邮政部门以及各个快递公司把货物送到顾客家中。购物网站的优点是购物的便捷和快速,提高了购物效率。顾客也可以给店主留言,写下意见和感想。目前,中国网民已经突破2亿大关,网站数量已达到131万个,其中16.7%的网民经常访问购物网站,随着国内上网费用的下调以及网速的大幅度提高,浏览购物网站的网民总数也会稳步提升。由此可见在网上开商城已经是大势所趋的。通过以上数据,我们可以欣喜的发现在网上开设商城的优势:(1)投资少,见效快;(2)销售时间不受限制;(3)销售地点不受限制。本次毕业设计主要是使用HTML基本语言,ASP、Vbscript脚本语言、DREAMWEAVER等设计网页,使用数据库知识(ACCESS)设计数据库,使用SQL语句完成查询,修改,删除数据等功能,最后完成整个电子商城系统的调试。第二章设计方案 本次毕业设计使用的ASP(ActiveServerPages),它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不必使用微软的产品就能编写它的代码,也可以产生和执行动态、交互式、高效率的服务器应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。ASP容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由于脚本在服务器上而不是在客户端运行,ASP所使用的脚本语言都在服务器上运行,用户端的浏览器不需要提供任何别的支持,这样大大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件来实现更强大的功能,如使用ADO就可以轻松地访问数据库。此次电子商城系统采用B/S(浏览器/服务器)模式开发,在此模式下,用户主要通过客户端浏览器浏览系统的工作界面,极少部分事务在浏览器端(Browser)实现,主要事务在服务器端(Server)实现。这种模式通过IE通信,不受地域的限制。从而减轻了系统维护和升级的成本和工作量,降低了用户的总体成本。电子商城系统的特点是用户在客户端登陆系统,然后浏览,管理或购买系统中的商品。该系统面向的用户是不确定的。如果要求用户下载安装软件才能浏览商品,会增加用户浏览商品的难度,大大减少用户数量。电子商城系统应该支持跨平台管理,其用户不必下载安装软件。B/S模式支持跨平台操作,只需安装浏览器即可。因此电子商城系统利用这种模式实现。从而为不同用户提供了统一的界面,使得界面易于维护。随着Microsoft公司的不断改进和完善,ACCESS正逐渐成为目前最为方便的中小型数据库管理系统。ACCESS支持的SQL指令非常齐全。同时ACCESS驱动程序的执行效率非常高。使用ACCESS数据库开发系统易于开发者掌握并解决可能发生的问题。基于以上原因在本次设计中使用ASP+ACCESS来实现本课题。第三章电子商城系统的设计与分析 3.1电子商城系统简介该电子商城系统是基于WEB开发的,以构建网上产品购物网站为目标,由前台购物、后台管理两大部分组成。电子商城系统主要实现用户注册、用户登录、分类浏览商品、查看商品介绍、购物车、在线购买、商品的评价、商品的投诉以及商品管理、会员管理等功能。根据这些功能要求,将整个系统分为两大部分:一部分是用户使用部分,包括用户登录、分类浏览,购买商品,在线支付等;另一部分是后台管理部分,这部分功能必须通过管理员身份验证才能使用,包括商品管理、商品投诉管理和会员管理,客户也可以通过论坛来提出意见和建议。电子商城系统就是要通过方便快捷的功能、简洁明了的界面、完善的后台管理来满足服客户的需要。3.2软件目标设计(1)系统的用户登录和身份验证;系统允许用户注册,注册的用户需要身份验证才能发布商品;用户进入系统时,需要进行身份验证;只有特定权限的用户才能进入特定权限的界面。(2)在线销售商品:无论是注册用户,还是未注册用户都允许浏览所有商品,并查看所有商品的详细信息;无论是注册用户,还是未注册用户都允许按类别查找商品;允许注册的用户通过在线付款形式购买商品;系统为注册用户提供购物车,并允许用户管理购物车。(3)在线管理商品:只有管理员才可以在线管理商品,即管理商品时需要验证管理员身份; 不同级别的管理员只能管理相应的商品,如系统管理员可以管理系统中所有的商品,一般管理员只能管理自己上传的商品。(4)在线管理用户:系统管理员可以添加,验证和查询用户;系统管理员可以修改系统中的任何用户信息;系统管理员可以删除任何用户。(5)在线管理公告:系统管理员可以添加公告;系统管理员可以修改公告;系统管理员可以删除公告。3.3设计原则软件系统开发设计原则一般包括以下四个方面:(1)经济,实用的原则;(2)兼容性原则;(3)可靠,有效性原则;(4)安全性原则。由于本电子商城系统只是一个毕业设计作品,要成为可行性系统还需要很多改进。因此,在本系统的开发过程中,并没有象上面提到的那样严格地按照要求来进行制作开发,只是在对网上购物网站了解的基础上,尽可能地使本系统所完成的工作符合实际。另外考虑到了系统的易操作性,因此在系统的界面设计过程中,尽可能地为用户提供了一个友善、清晰简洁的网络界面。3.4设计思路本课题为电子商城系统的软件设计,在图书馆关于该课题的信息比较多,所以在对它进行总体设计的时候, 首先对ASP的6大对象做了几周的学习,了解了其中各大对象的一些属性和方法。又花了一些时间学习SQL语句,用ACCESS对后台数据库进行了设计。在完成数据库的设计后,开始对网站页面进行设计。对用户权限以及网站的安全性进行了考虑,使用DoChar()函数屏蔽了一些特殊的字符,如一些非法用户会在IE地址栏键入一些SQL语句非法连接数据库,正是使用此函数把一些非法的字符替换成空格符输出,以及在数据库的设计中加入Check字段来检测用户是否为验证用户,非验证用户只能浏览网站的部分功能。最后,在基本功能实现以后,再对网站进行反复地测试和修改,以期望达到最好的效果。3.5需求分析该系统是基于B/S(浏览器/服务器)架构的系统,主要完成商品的浏览,购买,以及在后台管理商品;新闻公告的添加、删除、修改(更新),会员的在线购物用户在论坛上抒发自己的感想等。此系统分为前台购物和后台管理。前台购物是友好的操作界面,供用户注册、浏览、订购商品;后台管理是提供给管理员的,其中包括:商品管理、用户管理、公告管理等。使管理员从繁琐的手工操作中解脱出来,并提高了工作效率。按照系统功能的实现,本系统可以划分为以下几个功能模块:管理用户模块,管理商品模块,管理商品类别模块,管理商品投诉模块,管理公告模块等。管理用户模块包括了用户注册和验证,修改用户信息,修改用户密码以及删除用户。管理商品模块包括商品上传,修改商品信息,删除商品,增加商品图片,以及修改和删除商品的销售记录和浏览记录。管理商品类别模块包括添加,修改,删除商品类别等功能。管理商品投诉模块包括回复商品投诉,解决商品投诉问题和删除商品投诉,商品投诉需要保存商品的编号,购买商品的订单号及购买时间等信息。管理公告模块包括添加,修改,删除公告,公告包括公告的标题,公告的内容,以及发布时间等信息。由于电子商城的商品数量可能非常庞大,因此在商品浏览上,使用了分页浏览导航。用户可以通过点击上一页、下一页、首页、尾页进行分页浏览。该系统对可靠性、易维护性、安全性、可操作性等性能有较高的要求。可靠性----要求系统在发生故障或输入数据不合理等情况下有较高的要求;易维护性---系统的变更(因系统需求变化和弥补系统缺陷而引起)要简单易行;安全性---本系统所处理的数据都要 具有实际意义,不能随意存取和改动。因此,必须对系统数据的存取和改动进行控制,对系统数据进行有效的保护,以杜绝对数据的非法操作和防止计算机病毒的破坏;可操作性----本系统的操作人员是一般管理人员而非计算机专业人员,为使本系统有效地发挥作用,要求本系统容易理解,人机界面简明、清晰、直观,功能实用,操作简单方便,上机培训量小。此外,系统还需有较快的响应速度,以尽量减少工作人员的等待时间。根据前台用户的需求,画出以下E-R图:实体类型实体间联系属性图3.1ER图的元素说明 用户用户名密码权限地址订购数量总金额商品信息商品编号类型编号价格商品名称nm属于m商品类型1类型编号类型名称发布1公告信息m用户编号公告内容货存用户编号图3.2电子商城系统ER图将用户与商品信息表通过订购关系相联系,可以将此m:n二元联系转换为关系模型。关系模型为:用户(用户编号,密码,用户名,权限,地址);商品信息(商品编号,类型编号,商品名,价格,货存)订购(用户编号,商品编号,数量,总金额)将用户与商品信息表通过投诉关系相联系,可以将此m:n二元联系转换为关系模型。关系模型为:用户(用户编号,密码,用户名,权限,地址);商品信息(商品编号,类型编号,商品名,价格,货存) 通过以上的分析可知,该系统拥有用户、商品类别、商品、订单、投诉和公告的实体,其中实体对应数据库的表,属性对应表中的字段,关系对应表之间的联系。3.6系统概要设计在软件需求分析阶段,搞清楚了软件“做什么”的问题。现在所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,需要描述的是系统的总的体系结构。3.6.1系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能。所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少,而且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统概要设计中采用结构化设计(StructureDesign,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按照一定的步骤映射成软件结构。首先将整个系统划分为几个小问题、小模块。在本系统中,设计了浏览公告模块,浏览商品模块,购买商品模块,商品投诉模块,用户注册模块,公告管理模块,商品管理模块,订单管理模块,投诉管理模块,用户管理模块,网站计数器模块。3.6.2功能模块规划及分析为了便于电子商城系统的设计开发,根据系统功能要求,使用了模块化设计,整个电子商城系统可以分为以下11个功能模块:■浏览公告模块:此模块实现前台的公告信息浏览,无权限限制,注册用户和非注册用户都可以浏览公告。■浏览商品模块: 此模块实现前台的商品及商品信息浏览,无权限限制,注册用户和非注册用户都可以浏览商品,并查看所有商品信息。■购买商品模块:此模块专门提供给注册用户以及其以上级别的用户使用,允许注册的用户通过在线付款形式购买商品,系统为注册用户提供购物车,并允许用户管理购物车,系统为通过验证的用户提供订单管理功能,并允许这些用户处理相应的订单。■商品投诉模块:此模块专门提供给注册用户以及其以上级别的用户使用,允许购买此商品的用户对商品进行投诉,同时由管理员提出解决方案。■用户注册模块:此模块包括会员的注册,相关资料的填写,以及用户的登陆,资料的修改。■公告管理:此模块专门提供给管理员使用,系统管理员可以添加公告,系统管理员可以修改公告,系统管理员可以删除公告。■商品管理模块:此模块中只有管理员才可以在线管理商品,即管理商品时需要验证管理员身份,不同级别的管理员只能管理相应的商品,如系统管理员可以管理系统中所有的商品,一般管理员只能管理自己上传的商品。■订单管理模块:不同级别的管理员只能管理相应的订单,如系统管理员可以管理系统中所有商品的订单,一般管理员只能管理自己上传商品的订单。■投诉管理模块:任何购买了商品的用户都可以发表对购买商品的投诉,只有管理员才可以删除已经回复的投诉,管理员可以处理投诉,也可以通过回复投诉来解决问题。■用户管理模块:系统管理员可以添加,验证和查询用户,系统管理员可以修改系统中的任何用户信息,系统管理员可以删除任何用户。在各个模块的设计中注重它们之间的相对独立性,减少它们之间的耦合,减轻模块化设计的难度。各模块的关系见图3.5系统功能模块图所示。 电子商城系统前台购物后台管理浏览商品购买商品商品评价用户注册分类管理商品管理订单管理评价管理用户管理广告显示购物车发布广告图3.5系统功能模块图第四章系统数据库的设计4.1数据库的概念结构设计根据系统的需求分析和数据库的需求分析,同时根据相关部分的数据流程图,对系统数据库进行概念结构设计。根据数据关系模型和数据库关系模式的范式,我们创建了电子商城系统数据表,本系统共有9个数据表,分别是:用户信息表(users),商品类型表(GoodType),商品信息表(Goods),计数器信息表(webcount),订单信息表(Shop_list),公告信息表(Board),用户投诉表(Complain),论坛基本信息表(bbsconfig),论坛留言回复信息表(reforum)。4.1.1建立数据库的原则在建立数据库时,由于表中储存信息的不同,所以表中所需的字段也不一样,在确定所需字段时有以下五个原则:1.描述不同主题的字段应属于不同的表,通过定义之间的关系,可以将多个表中的字段进行数据组合,生成各种表单或报表; 2.不要在表中储存通过推导或计算得到的数据;3.收集所需的全部信息。应全面检查书面的表单和报表,确定所需的数据都已包含在所设计的表中或可以由这些表计算出来;4.以最小的逻辑单位储存信息,应尽量把信息分解成比较小的逻辑单位;5.对于主关键字段,ACCESS不允许其有重复值或NULL值。4.1.2建立字段的原则在实际选择和确定数据类型时,应结合字段的自身情况并考虑以下四点:1.该字段用于储存什么类型的值;2.要对字段中的值执行什么类型的运算;3.是否要用字段进行筛选或排序;4.是否用字段对记录进行分组。4.2数据库逻辑结构设计数据库的概念结构设计完毕后,可以将数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在电子商城系统中,共有9个数据表,分别是:用户信息表(users),商品类型表(GoodType),商品信息表(Goods),计数器信息表(webcount),订单信息表(Shop_list),公告信息表(Board),用户投诉表(Complain),论坛基本信息表(bbsconfig),论坛留言回复信息表(reforum)。用户信息表(users)信息见表4-1所示。表4-1用户信息表字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否用户编号 UserId文本12无否用户名PWD文本12无否用户密码Sex是/否1无否性别Address文本100无否地址Email文本30无是邮箱Telephone文本20无否电话Allow数字1无否用户类别权限Usercheck是/否1无否用户是否通过验证创建该表时,需要创建一个系统管理员admin。本系统系统管理员的Allow字段为“1”,普通管理员为“2”,普通注册用户为“3”。Usercheck=0,未验证用户;=1,已验证用户。商品类型表(GoodsType)信息见表4-2所示。表4-2商品类型表字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否商品类别序号Name文本20无否商品类别名称Type文本20无否商品类型商品信息表(Goods)信息见表4-3所示。表4-3商品信息表字段名称数据类型字段大小默认值是否允许为空字段描述 ShopID主键自动编号4无否商品编号TypeID文本10无否类别序号UserID文本12无否用户名Name文本20无否商品名称Producer文本50无是生产商Package文本30无是包装型号Price数字8无否进货价格Saleprice数字8无否销售价格折扣数字4无是折扣Content文本200无是商品说明PostTime日期/时间8无是上传时间库存数字4无否商品库存数量ReadCount数字4无是商品被浏览次数BuyCount数字4无是商品被购买次数ImageFile文本30无是商品图片名称和路径GoodsCheck是/否1无否商品是否通过验证计数器信息表(webcount)信息见表4-4所示。表4-4计数器信息表 字段名称数据类型字段大小默认值是否允许为空字段描述count_id主键自动编号4无否计数编号count_ip文本15无否客户IPcount_time日期/时间8Now()否访问时间计数器信息表包含了计数编号(count_id)、客户IP(count_ip)和浏览人访问时间(count_time),其中计数编号(count_id)为关键字,数据类型为自动编号,如此在添加数据时会自动加上一个单独的编号而不重复。浏览人访问时间(count_time)的默认值为Now(),如此我们即能在添加数据时利用这个函数自动获取浏览人进入网站的时间,并自动存入数据表当中。订单信息表(Shop_list)信息见表4-5所示。表4-5订单信息表字段名称数据类型字段大小默认值是否允许为空字段描述OrderSn主键自动编号4无否订单号UserID文本12无否购买商品的用户编号ShopName文本20无否购买商品的名称ShopID数字4无否商品编号Cost数字8无否商品单价Num数字4无否商品购买数量折扣数字4无否折扣 TotalCost数字8无否购买商品总价OrderTime日期/时间8无否购买时间ShopCheck数字1无否订单处理类型YIFUKUAN数字8无否已付款金额ShopCheck=0,未处理订单;=1,已处理订单。公告信息表(Board)信息见表4-6所示。表4-6公告信息表字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否公告编号Title文本20无否公告的标题Content文本200无否公告的内容PostTime时间/日期8无否发布公告时间UserID文本12无否发布公告的用户编号用户投诉表(Complain)信息见表4-7所示。表4-7用户投诉表字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否投诉编号UserID文本12无否发布投诉的用户编号ShopID数字4无否用户投诉的商品编号 PostTime时间/日期8无否发布投诉的时间Content文本200无否投诉内容Result文本200无否投诉所反映问题的解决方案Flag数字1无否投诉的解决状态Flag=0,表示未解决用户问题,Flag=1表示解决用户问题。论坛基本信息表(bbsconfig)见表4-8所示表4-8论坛基本信息表字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否用户编号bbsname文本20无否论坛名称moderated文本12无否论坛版主info文本50无否论坛介绍pass数字1无否论坛访问权限hide数字1无是隐藏论坛lasttopic文本30无是最后发布主题lastname文本12无否最后发帖人的名称lasttime日期/时间8无否最后发帖人的时间论坛留言回复信息表(reforum)见表4-9所示表4-9论坛留言回复信息表 字段名称数据类型字段大小默认值是否允许为空字段描述ID主键自动编号4无否留言编号topicid文本4无否主题序号userid文本12无否用户名content文本200无否回复内容posttime日期/时间8无否回复时间第五章系统功能与模块的设计实现当对数据表的设计完成后,即要对系统功能和模块进行设计。在本次设计中,主要通过Dreamweaver,利用ASP中的Request(主要实现获取表单中的数据),Response(主要实现输出相关内容),Server(主要实现文件相关路径的设置以及建立Connection对象),Session(主要实现用户信息的存储以及购物车的实现)几大对象的属性和方法,以及SQL语句,IF…else语句来编写,完成系统功能和模块的设计以及界面的设计。数据库ACCESS和ASP通过ADO来实现链接,ADO使用内置的RecordSets对象作为数据的主要接口。利用SQL语句完成数据的查询,筛选,分组等功能。5.1创建数据库打开ACCESS,通过菜单中的新建,然后选择新建空数据库,设置好数据库名。根据数据库的逻辑结构设计,选择使用设计器创建表来创建各个模块所需的数据表。 5.3系统模块的设计与实现5.3.1系统的界面与导航条的设计电子商城系统给人的第一印象关键就在于界面,而可用性与易用性与导航条的设置有很大关系。本系统的界面风格包含在top.asp文件中,版权信息等包含在bottom.asp文件中,登录界面,搜索界面包含在left.asp中,商品分类,最新投诉,热卖商品,关注商品包含在right.asp中。各模块中的文件几乎都调用了top.asp和bottom.asp来统一界面风格,使得整个网站界面更加简洁、友好。top.asp如图5.1所示,导航条界面。系统主页面index.asp调用了top.asp,bottom.asp,left.asp,right.asp。图5.1top.asp导航条界面5.3.2数据库的连接主数据库,以及计数器采用以下代码连接SetConn=Server.CreateObject("ADODB.Connection")Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("User.mdb")Conn.open其中,Server.CreateObject的功能是建立Connection对象,Server.Mappath的功能是找到数据库的路径。5.3.3注册和登录模块用户在购物系统的主页上,单击“注册”连接,如图5.2,注册信息保存在user/UserReg.asp。 图5.2注册用户界面处理注册信息的文件为UserInsert.asp,实现流程如下。(1)获取注册信息。获取注册信息主要利用Request对象的Form集合,获取表单中的用户名和密码,以及性别,联系电话,手机,主要实现代码如下:username=trim(Request.form("username")),pwd=trim(Request.form("pwd")),email=Request.form("email"),tel=Request.form("telephone")(2)检查注册信息是否完整。主要通过If…else语句检测表单中的数据是否为空。例如:Ifusername=""Thenresult=result&".用户姓名不能为空!
" ,当用户名为空时,提示出错信息,以此类推,检测密码。检测邮箱格式代码为:n=Instr(email,”@”)确认@位置,没有该符号,说明邮箱格式有误。ifn>0thenm=instr(n,email,.)如果有@,去判断@后是否有符号.,不存在,则认为电子邮件域名错误。Ifm>=len(email)thenresult=”email格式有误”Endif。(1)检查是否存在该用户名.利用SQL语句:Setrs=Conn.Execute("Select*fromUserswhereUserId='"&uid&"'")IfNotrs.EofThen假如指针没有指向最后一个记录集,已经在表中的字段找到相同的ID,则弹出对话框“已经存在此用户名”alert("已经存在此用户名!");history.go(-1);(2)添加新用户,利用SQL语句:sql="insertintoUsers(UserID,PWD,UserName,Sex,Address,Email,Telephone,Mobile,Allow)values('"&_uid&"','"&pwd&"','"&username&"',"&Sex&",'"&address&"','"&email&"','"&_Request("telephone")&"','"&Request("mobile")&"',"&TypeUser&")"5.3.4用户管理中心模块用户登录后,网站主页的左侧显示用户管理中心界面,如图5.3 图5.3用户管理中心界面其中功能有更改资料,更改密码,客户投诉,我的投诉,管理界面,购物车,退出登录。1.更改信息界面该界面和用户注册界面相似,只不过界面的每个部分设置了用户信息。如图5.4图5.4更改用户信息界面其中关键性代码为:sql="Select*FromUsersWhereUserId='"&userID&"'andPWD='"&Session("Password")&"'"设置查询语句,为了保证安全需要密码和用户名都一致才可以修改。处理修改用户信息的文件为UserInsert.asp,实现流程如下:(1)获取修改后的用户信息。(2)检查用户信息是否完整,如果不完整,返回错误提示信息。 (1)修改数据库中用户信息。其中用了SQL的更新语句,以及用到了Request对象和Session对象。sql="UpdateUsersSetUserName='"&Request("username")&"',Sex="&Sex&","&_"Address='"&Request("address")&"',Telephone='"&Request("telephone")&"',Mobile='"&Request("mobile")&_"',Email='"&Request("email")&"',Allow="&TypeUser&"WhereUserId='"&uid&"'"用此时在表格中获取的数据去更新Users表中的相应字段,条件是只更新指定的UserId。Session("UserName")=Request("username")Session("Address")=Request("address")Session("Email")=Request("email")用此时表单中获取的数据,去替代服务器中session此时保存的数据。2.更改密码界面单击“更改密码”链接,进入修改密码界面,如图5.5图5.5更改用户密码界面修改用户密码需要用户输入原来的密码,并输入两次新密码。电子商城系统验证当前用户名和当前密码是否一致,代码如下: sql="Select*FromUsersWhereUserId='"&Session("userid")&"'andPWD='"&Session("Password")&"'"设置验证用户密码和用户名是否一致。Setrs=Conn.Execute(sql)执行SQL语句。Ifrs.EOFThen指针指向最后一个位置,仍未发现一致的字段,则不能修改。Response.Write"你无权修改!"文件ResetPwd.asp完成密码修改功能,实现流程如下。(1)获取密码。UserId=request.queryString("userid")获取用户名。oldpwd=trim(Request.form("oldpwd"))获取表单中输入的密码。(2)检查输入密码newpwd=trim(Request.form("newpwd"))获取新密码。Ifnewpwd=""Thenresult=result&".用户密码不能为空!
"新密码不能为空。confirmpwd=trim(Request.form("confirmpwd"))获取输入的确认密码。Ifconfirmpwd<>newpwdThenresult=result&".两次输入的密码不同!
判断确认密码是否和输入的新密码相同。(3)更新密码Conn.Execute("UpdateuserssetPWD='"&newpwd&"'whereUserId='"&UserId&"'")更新表users中的密码,条件是只更新获取的用户名。Session("userid")=UserId把此时获得的用户名,去更新Session中保存的用户名。Session("Password")=newpwd把此时获得的密码,去更新Session中保存的密码。3.购物车界面 购物车即用户所选中,但尚未付款成交的商品。用户所选的商品保存在shop_list表中,User字段为保存购买商品的用户,check字段保存商品是否成交的信息。因此通过查询该表中User字段为当前用户,且字段Check0(0表示为未成交)的记录,即可获知用户所买的商品。购物车界面如图5.6:图5.6购物车界面(1)查询用户所选中的商品。这些商品保存在shop_list表中,并且ShopCheck字段的值为“0”。Sql="SELECTID,User,ShopName,Cost,Num,TotalCost,折扣,Time,ShopCheck,OrderNumberFROMshop_listWHEREShopCheck=0anduser='"&Session("userid")&"'"列举需要显示的字段,查询用户所选中的商品。setrs=Conn.Execute(Sql)执行SQL语句。(2)判断是否存在所选商品。如果查询的结果为空,则该用户没有打算购买的商品。Ifrs.EOFThen如果指针知道最后一个位置,仍然找不到符合要求的记录,则提示购物车内没任何商品Response.Write"

购物车内没任何商品!

"&_"

产品类型

"(3)显示表格的标题。购物车界面以字段名称为表格的标题。 ForI=0Tors.Fields.Count–1列举所有字段名称,字段的序号和名称保存在Fields字段中。Ifrs.Fields(I).Name<>"ID"Then为安全起见,不显示ID字段Response.Write""&rs.Fields(I).Name&""EndIfNextResponse.Write"删除"(4)显示购物车内商品信息的代码如下:ForI=0Tors.Fields.Count–1列举所有字段名称,字段的序号和名称保存在Fields字段中。Ifrs.Fields(I).Name="ShopCheck"Then字段名为shopcheck时。Ifrs.Fields(I).Value=1Then当shopcheck=1,订单已处理。Data=Data&"订单已处理"ElseIfrs.Fields(I).Value=0Then当shopcheck=0时,订单正处理。Data=Data&"订单正处理"EndIfElseIfrs.Fields(I).Name<>"ID"Then为安全起见,不显示ID字段。Data=Data&""&rs.Fields(I).Value&""EndIfNextResponse.WriteDataResponse.Write"删除"链接delete.asp,传递ID字段信息。 Total=Total+rs("TotalCost")*0.8总价打八折。开始用户登录购物车发送信息购物确认购物完成NY发送购买数量,总价格,及折扣等信息NN商品浏览购买商品在线支付YYNYY图5.7浏览和购买商品模块程序流程图 5.3.5商品查询界面商品的简单查询依据商品类别和名称查询所有符合条件的商品。并为用户显示查询结果的详细信息和简略信息其界面如图5.8图5.8简单查询界面显示的详细信息和简略信息分别如图5.9和图5.10 图5.9详细信息界面图5.10简略信息界面简单查询界面设置在首页上,方便了用户的查询。该界面主要包含商品类型和商品名称。商品类别通过GoodsType表获取,实现代码如下:sql="Select*FromGoodsType"设置查询商品类别信息的SQL语句。Setrs=Conn.Execute(Sql)IfNotrs.EofThen判断是否存在商品,存在则把商品加入下拉列表框。DoWhileNotrs.Eof"><%=rs("name")%>在下拉列表框中显示商品类型选项。简单查询功能主要由Search.asp实现,实现流程如下。(1)获取查询条件。(2)生成查询条件。typeid=Trim(Request("typeid"))获取商品类型编号。Iftypeid=""Then如果商品类型编号为空,显示所有商品信息。typeid="all" EndIfIftypeid<>"all"Then如果商品类型不为所有类型,则查询指定商品序号。SearchSql=SearchSql&"andTypeIdlike'"&typeid&"%'"EndIfgname=Trim(Request("name"))获取待查询商品名称。IfNot(isNull(gname)OrLen(gname)=0)Then不为空,则在数据库中查询与输入字段相同的商品名称。SearchSql=SearchSql&"andNameLike'%"&gname&"%'"EndIf(1)执行查询。(2)显示商品信息。Setrs=Conn.Execute(Sql)显示页中所有记录。Fori=1tonPageSize如果当前页为最后一页,该页显示的记录数目可能小于规定的记录数目,因此当当前记录为最后一条记录时要终止显示。Ifrs.EOFThenExitForIfi=1ThennCurseStart=rs.Fields("ID")nCurseEnd=rs.Fields("ID")<%=rs("Sn_Number")%>"><%=rs("name")%><%=rs("SalePrice")%>元5.3.6信息统计 电子商城系统提供了两种信息统计方法,即销售统计和浏览统计。通过这两种方法,用户可以方便地查看各种商品的销售和浏览情况,指导自己的购买行为。销售排行榜依据商品的购买次数进行降序排序,即购买次数多的商品排在前面,购买次数少的商品排在后面。商品保存在goods表中,其中BuyConut字段保存商品的销售数量,通过查询该字段的值获取销售排行榜。实现代码如下:sql="SelectID,Name,BuyCountasShopCount,Sn_NumberFromGoodsorderbyBuyCountDESC"从goods表中查询商品排行,按购买次数的降序排列。setrs=Conn.Execute(sql)执行sql语句。Ifnotrs.BofOrrs.EofThen在指针没有知道第一行或最后一行时,就找到了符合条件的记录,则输出商品信息:"><%=rs("Sn_Number")%><%=rs("Name")%><%=rs("ShopCount")%>rs.movenext循环输出。loopEndIf关注排行榜依据商品的浏览次数进行降序排序,实现方法和销售排行榜相同,只是查询语句不同。关注排行榜的查询SQL语句如下:sql="SelectID,Name,ReadCountasShopCount,Sn_NumberFromGoodsorderbyReadCountDESC"5.3.7浏览和购买商品浏览商品即显示商品的信息,以方便用户购买商品。电子商城系统提供了购物车在线付款功能,用户可以轻松实现在线购买商品。单击商品的按键,显示商品的详细信息,包括用户对商品的投诉 ,以及解决问题的方案,如图5.11图5.11商品详细信息界面实现浏览商品功能的文件为GoodsView.asp,显示商品界面的流程如下:(1)获取商品序号并连接数据库。ShopID=Request.QueryString("ShopID")获取商品序号。(2)查询该商品是否存在,不存在,则结束。sql="Select*FromGoodsWheregoodscheck=trueandShopID="&Cint(ShopID)从goods表中查询货物为以验证,ShopID为(1)中获取的ShopID值。SetrsGoods=conn.Execute(sql)执行SQL语句。IfrsGoods.EofThen指针知道最后一条记录,仍找不到符合条件的商品,则显示没有此商品信息。Response.Write"没有此商品信息"(3)更新商品的浏览次数。sql="UpdateGoodsSetReadCount=ReadCount+1WhereShopID="&Cint(ShopID)更新goods表中的商品浏览量,浏览量加1,只对应于获取的商品序号。 conn.Execute(sql)(1)显示商品类型。sql="SELECT*FROMGoodsTypeWHEREType='"&rsGoods("typeid")&"'"setrs=Conn.Execute(sql)Ifnotrs.EOFThenResponse.Write(rs("Name"))(5)显示商品图片。Goods表的ImgaeFile字段保存图片的相对路径和名称,电子商城系统把上传的商品图片保存在images文件夹下。因此获取Images字段的值,即可获得商品图片的路径和名称。Ifnotiname=“”Then图片名不为空,则显示图片信息。”width=”90”border=0>(6)显示商品其他信息。商品名称<%=rsGoods("Name")%>显示记录集中获得的商品名称,其他信息以此类推。(7)显示图片的订购链接。">把获取的ID值传递给链接的网页中。单击商品的按钮,即可进入购买商品界面,如图5.12 图5.12购买商品界面购买界面显示用户购买商品的信息,以及需要用户输入数量,因此需要获取购买商品的信息。(1)获取用户ID,商品编号。User=Session("userId")获取用户ID。goodsid=Request.QueryString("id")获取商品编号。(2)查询商品信息。Sql="SELECTID,Name,Sn_Number,Producer,SalePrice,折扣,ContentFROMGoodswheregoodscheck=trueandID="&Cint(goodsid)(3)显示表格标题信息。ForI=0Tors.Fields.Count-1Response.Write""&rs.Fields(I).Name&""读取数据表的字段名称以作为表格的标题。Response.Write""输出表格内容。在购买商品后,需要把用户名,商品序号,购买数量,商品价格,购买总价,以及订单号放入购物车。Addtocar.asp文件实现了放入购买车界面,实现流程如下:(1)获取购买参数并计算总价。GoodsId=Request("shopId")获取商品序号。Num=Cint(Request("Quantity"))获取购买数量。name=Request("shopname")获取商品名。 SalePrice=Request("saleprice")获取售价。subTotal=SalePrice*Num计算金额=定价*数量。userid=Session("userid")获取用户ID。(2)判断用户是否购买过该商品。本系统不允许再次购买购物车内存在的商品。如果用户需要再次购买该商品,需要删除购物车内已购买的商品,然后购买该商品。判断用户是否购买过该商品的代码如下:Sql="SelectIDfromshop_listwhereShopCheck=0andshopID="&GoodsID从shop_list表中找到订单正处理的商品ifrs.EOF=FalseThen如果找到订单正处理的商品,说明交易未完成Response.write("该商品已经购买过,还没有成功交易!请删除原有商品后重新购买!")(3)添加订单。用户购买商品的订单保存在shop_list表中,添加订单的代码如下:Sql="Insertinto[shop_list]([User],[ShopName],[shopID],[Cost],[Num],[TotalCost],[Time],[OrderNumber])"&_values('"&Session("UserName")&"','"&name&"',"&GoodsId&","&SalePrice&","&Num&","&subTotal&",'"&Now()&_"','"&MakeOrderNumber(GoodsId)&"')"单击在线付款链接,显示确认订单信息界面,如图5.13 图5.13确认订单信息界面Order.asp文件实现了填写收货人信息的界面,过程如下:(1)计算所有订单价款总额和商品名称。Sql="SELECT*FROMshop_listWHEREuser='"&Session("userid")&"'"setrs=Conn.Execute(Sql)DimNameIfnotrs.EOFThenTotal=0Name=Name&rs("ShopName")&","Total=Total+rs("TotalCost")*0.8(2)获取用户姓名,地址,联系电话。sql="selectUserName,Address,TelephonefromUserswhereUserID='"&Session("userid")&"'"从users表中查询session保存的用户的姓名,地址,联系电话。ifnotrsaddress.EOFThen找到相关用户的姓名,地址,联系电话,并显示。address=rsaddress("Address")UserName=rsaddress("UserName")Telephone=rsaddress("Telephone")(3)显示用户信息。Response.write("")订单信息商品名称:<%=Name%> 货款:<%=Total%>元收货地址*:">联系电话与收货地址代码同上。单击确定订单信息界面的提交按钮,进入网银在线付款界面,用户付款后,如果返回支付状态为20,则表示支付成功,同时更新商品库存;否则表示付款失败或出现问题。AutoReceive.asp文件只处理支付状态为20的情况。代码如下:Ifv_pstatus=”20”thenIfv_amount=Session(“total”)then如果用户支付金额等于总价款,表示交易成功,则更新所有订单的已付款,已付款金额等于商品总价。Sql=”updateshop_listsetYIFUKUAN=TotalCostwherecheck=”1”andUser=’”&Session(“userid”)&”’”Sql=”selectnumfromshop_listcheck=”1”andUser=’”&Session(“userid”)&”’”获取购买数量。Sql=”updategoodsset库存=库存-numwheregoodscheck=”1”andShopID=’”&Session(“ShopID”)&”’”商品库存量减去成功购买数量为当前库存量。5.3.8管理界面单击用户管理中心界面的“管理界面”链接,进入管理界面,如图5.14 图5.14管理界面在该系统中,只有系统管理员和普通管理员才可以进入管理界面时,需要判断用户的权限。在其他文件中也需要判断当前用户是否为管理员,因此把判断当前用户是否为管理员的操作做成函数可方便使用。在介绍管理界面菜单前,现介绍有关函数。IsAdmin(User)函数判断当前用户是否为系统管理员:是,则返回True;否,则返回False.IsUser(User)函数判断当前用户是否为普通管理员:是,则返回True;否,则返回False。在这两个函数中都要过滤特殊字符,以防止非法用户攻击。Dochar(User)函数的功能为过滤特殊字符。这些函数都保存在function.asp文件中,使用这些函数之前需要包含该文件,包含代码如下:Dochar(User)函数可以过滤单引号“<%”,回车键,“<”,“>”,并且可以根据需要过滤其他字符。如下过滤方式使用HTML中的空格“ ”,代替原有的字符。<%FunctionDoChar(str)str=Lcase(str)changechr=replace(str,"","")changechr=replace(changechr,"<%"," ")changechr=replace(changechr,"select"," ")其他字符以此类推Dochar=changechrEndFunction%>IsAdmin()函数实现流程如下:(1)检查是否存在该用户,不存在,则返回False。 user=DoChar(user)sql_admin="SelectPWD,AllowFromuserswhereusercheck=trueandUserID='"&user&"'"Setrs_admin=Conn.Execute(sql_admin)Ifrs_admin.EofThenIsAdmin=false(2)若存在该用户,获取该用户的权限值。(3)判断该用户权限值是否为1,为1,则返回True;否则返回False。Iftrim(rs_admin("PWD"))=Session("Password")andrs_admin("Allow")=1Then判断密码是否正确及权限是否为1。IsAdmin=trueelseIsAdmin=falseEndIfIsUser()函数的实现流程如下:(1)检查是否存在该用户,不存在,则返回False。(2)若存在该用户,获取该用户的权限值。(3)判断该用户权限值是否为1,为1,则返回True;否则返回False。代码与IsAdmin()函数实现代码类似。管理菜单拥有多个子菜单,有些子菜单只有系统管理员才能看到。因此在显示这些子菜单前需要判断当前用户是否为系统管理员。下面是显示管理菜单的部分代码:IfIsAdmin(Session("userid"))Then 公告管理其他显示项目以此类推。5.3.9商品类别分类电子商城系统对商品进行分类管理,包括硬件,软件等大类,每个大类还有小类。本系统允许管理员添加,修改和删除大类,并在每个大类下面添加,修改,删除小类。本系统只允许管理员管理商品类别。商品类别管理界面如图5.15图5.15商品类别管理界面浏览商品类别需要了解商品类别的数据结构,不同的商品类别 使用不同长度的字符表示,商品大类使用两位字符表示,该大类下的小类使用4位字符表示,依次类推。小类的类别表示是在所属商品类别标识基础上,加上两位字符构成,这两位字符表表示该小类在所属商品类别中的排列顺序。如使用“01”表示商品的硬件大类,则可以使用“0101”表示硬件类别下的“显示器”小类。GoodsType表保存商品类别信息,Type字段保存商品类别信息。假设商品大类类别序号为“TypeID”,其下的小类类别即Type字段中形同TypeID&_“_”的记录;如果TypeID为空,则查询所有商品的大类类别信息。本系统只允许管理员修改商品所属的类别,以及商品类别的名称。在商品类别管理界面中,管理员单击商品的类别,在修改按钮行选择商品类别所属的商品大类。输入修改后的商品名称,单击修改按钮即可。修改时,管理员需要选择商品所属大类和输入修改后的类别名称,因此需要添加这两项功能的控件。另外,两个hidden属性的modifyid和oldtype控件分别记录类别的序号和所属类别。sql="Select*FromGoodsTypeorderbyid"Setrs=Conn.Execute(Sql)Ifrs.EofThen在GoodsType表中查找到符合的类别。"><%=rs("Name")%>显示商品类别。rs.MoveNextLoopEndIf修改表单显示提交的URL,其中包含id和action两个参数。Action为操作类型,其值为update,id为商品类别的序号。依据这两项可以更新商品类型,流程如下:(1)获取更新的相关参数。(2)判断新类别与原来类别是否相同,相同则转(7)。(3)查询所属类别大类下是否存在该类别,存在该类别名称,则转(9)。 (4)若不存在该类别,获取所属类别下的小类别。(5)小类数目小于10,新类别名称加字符“0”,以使名称达到两位字符。(6)执行更新SQL语句,则转(9)。(7)查询所属类别是否存在该类别名,存在相同名称,则转(9)。(8)执行更新语句。(9)结束。本系统允许管理员添加商品大类类别和添加小类,但是添加的类别标识由系统自行设定。在商品管理界面中,管理员在添加按钮行选择商品类别所属的商品类别。然后输入添加的商品类别名称,单击添加即可。添加商品类别的流程如下:(1)获取更新的相关参数。(2)新类别的名称为空,则转(7)。(3)查询所属类别下是否存在该类别名称,存在该类别名称,则转(7)。(4)获取所属类别下小类数目。(5)小类数目小于10,在新类别名称加“0”以使名称为两位字符。(6)执行更新SQL语句,转(7)。(7)结束。本系统允许管理员删除商品大类和小类类别,但是删除的商品类别下不能有小类。在商品管理界面中,管理员选择删除的商品类别。然后单击删除按钮,即可删除该商品类别。在删除表单中,提交的URL中只包含一个参数action,其值为delete。依据其值执行删除操作。流程如下:(1)获取删除类别的标识。(2)获取删除类别下是否有小类,存在小类,则转(4)。(3)执行删除SQL语句。(4)结束。5.3.10商品管理 本系统允许系统管理员和验证用户在登陆后管理商品。电子商城系统提供了如下管理商品的功能:添加新商品,处理新商品入库,浏览商品,修改商品信息,删除商品信息。商品管理界面如图5.16图5.16商品管理界面新商品的所有信息保存在goods表中,新商品的图片保存在images文件中。Goods表中的Image字段不保存图片文件的数据,只保存图片文件的名称。单击添加商品链接,会传递给所链接网页一个参数action,此时的参数为add,即为添加商品,添加商品。单击修改链接,参数action为modify,同时传递此时的商品序号&action=modify"target=_blank>修改。单击删除链接,参数action为delete,同时传递此时的商品序号&action=delete"target=_blank>修改。添加商品界面允许用户填写商品信息。该界面除了商品类型外,所有商品信息都为空。该页面也是修改商品信息的界面,如图5.17 图5.17添加商品界面首先设置所有商品信息为空,其实显示表单及商品类型,显示图片,显示添加商品界面。最后显示商品信息。添加商品时,需要过滤商品名称和商品介绍。主要过滤HTML和JavaScript关键字,以防止非法用户输入非法代码。替换特定字符的功能由Dochar()函数实现,它包含在function.asp中。用户提交的商品需要管理员审核后才能发布,审核方法是设置goods表中的goodscheck字段,该字段的值为False,则暂停商品发布;为True,则同意发布该商品。管理员单击商品管理界面中的商品列表选项,然后单击已验证链接,将暂停发布该商品;单击商品的未验证链接,将允许发布该商品。审核流程如下:(1)获取待审核的商品序号和审核类型。Dimid,inameid=Request.QueryString("id")action=trim(lcase(Request("Action")))(2)检查商品序号是否为空,为空,则转(6)。(3)审核类型转换为成True或False。 (4)设置查找,更新或删除字段goodscheck的SQL语句。Ifaction="add"ThenTypeId=0Name=""GoodsID=0Producer=""Package=""SalePrice=0Price=0Content="暂时无该商品信息。"ImageFile=""ElseIfaction="modify"Thensql="Select*FromGoodsWhereid="&Cint(id)SetrsGoods=Conn.Execute(sql)IfrsGoods.EofThenResponse.Write"没有此商品信息"Response.EndEndIfTypeId=rsGoods("typeid")Name=rsGoods("name")GoodsID=rsGoods("Sn_Number")Producer=rsGoods("Producer")Package=rsGoods("Package") SalePrice=rsGoods("SalePrice")Price=rsGoods("Price")Content=rsGoods("Content")ImageFile=rsGoods("ImageFile")ElseIfaction="delete"Thenid=Request.QueryString("id")sql="Select*FromGoodsWhereid="&idSetrs=Conn.Execute(sql)sql="DeleteFromGoodsWhereid="&idConn.Execute(sql)SetRs=NothingConn.Close()Response.write"删除操作成功!"(5)执行更新语句。(6)结束。 开始是否管理员NAction分别等于add,modify,delete用户登录管理界面Y商品管理Action=add添加商品YAction=modifyN修改商品Action=deleteYN删除商品结束读取参数action的值YN图5.18商品管理程序流程图5.3.11商品投诉管理在购买商品后,用户对商品的使用或者服务情况会有反馈信息,商品管理界面中提供了查看和管理投诉的功能。 单击商品管理界面左窗格的未处理链接和已处理链接,即可看到未处理投诉或已处理投诉界面。查看未处理投诉界面如图5.19所示,查看已处理投诉界面如图5.20所示。图5.19查看未处理投诉界面图5.20查看已处理投诉界面所有的投诉或投诉信息全部放在表Complain中,字段Flag表示投诉是否处理。查看投诉的代码保存在Complain.asp文件中。普通管理员只能查看所有投诉 ,但是普通管理员可以处理自身所拥有商品的投诉;查看流程如下:(1)获取订单号。(2)订单号为空,则转(4)。(3)设置依据订单号查询投诉的查询条件。(4)设置依据用户名查询投诉的查询条件。(5)执行查询。(6)若当前用户拥有投诉的商品,则设置解决或删除权限。(7)显示投诉内容和解决方案。本系统有三类用户,即系统管理员,普通管理员和普通用户,系统管理员拥有对该系统的所有操作权限;普通管理员是系统管理员增加的管理人员,可以发布商品,管理商品,管理投诉和管理订单,但是只能管理与其发布商品相关的信息;普通用户只能浏览,查询商品,发布投诉,购买商品和修改个人信息,没有管理系统的权限。任何访问者都可以注册成普通用户,普通管理员和系统管理员只能由系统管理员admin添加,或者修改注册用户的注册类型。5.3.12用户管理本系统提供了查询用户功能,既可以查询所有验证用户,也可以查询所有未验证用户,还可以依据制定条件查询。查询用户界面如图5.21图5.21查询用户界面查询用户结果界面如图5.22 图5.22查询用户结果界面 开始管理员NAction分别等于new,modify,delete用户登录管理界面Y用户管理Action=newww添加用户YAction=modifyN修改用户Action=deleteYN删除用户注册用户Y会员个人管理会员资料修改N读取参数action的值Y结束N图5.23会员管理程序流程图5.3.13公告管理 管理员单击管理界面的左窗格中的公告管理链接,显示公告管理界面如图5.24,右窗格中显示所有公告的列表。其中包含公告的添加,修改和删除操作。图5.24公告管理界面公告管理界面显示所有公告的内容,并且在每条公告后显示修改和删除操作的链接。因为只有管理员才具有操作该界面的权限。单击添加链接,传递参数action,打开添加公告界面。如图5.25图5.25添加公告界面单击公告管理界面中的删除链接,删除公告信息,代码如下:id=Cint(Request.QueryString("id"))sql="delete*FromBoardwhereID="&idSetrs=Conn.Execute(sql) Response.write("公告删除!

")开始管理员NAction分别等于add,modify,delete用户登录管理界面Y公告管理Action=add添加公告YAction=modifyN修改公告Action=deleteYN删除公告读取参数action的值NY结束图5.26公告管理程序流程图5.3.14网站计数器模块 网站计数器模块的相关数据表为webcount表。在电子商城系统首页的正下方位置,显示的是网上计数器模块。通过此模块,我们在浏览该网站时,可以在窗口上看到这个网站已经有多少人浏览过了,目前正在浏览有几个人。这样的数据对于一个网站的经营人有很多意义。第一,浏览本站人数的多少能让站长知道他所制作的内容是否吸引人,网站的宣传是否足够,是否要使用什么样的活动来增加浏览的人数等;第二,在线人数的统计,能让站长知道在什么时段同时浏览的人数是最多的,什么时段浏览人数是最少的。于是网站的经营人就能按照这样的数据来对网站的内容做一些调整,而这些成长的数字对于制作网站的人也是一种最正面,也是最有效的鼓励!5.4网上讨论区为了方便客户与管理员更好的交流,设立了网上讨论区。网上讨论区具有如下功能:发帖,回帖,修改主题,用户控制面板。此外,给予管理员论坛管理组织功能。站长具有管理整个论坛网站的功能,即设置管理,用户管理,论坛管理,数据管理等。系统主要分为两大模块,如图5.27所示讨论区前台用户管理模块管理员管理模块用户登录用户注册控制面板搜索论坛状态论坛帖子管理讨论区后台设置管理论坛基本设置用户管理注册用户管理注册用户激活论坛管理创建新的论坛管理论坛信息激活论坛帖子 图5.27讨论区功能模块5.4.1系统界面设计1.论坛首页。单击导航条中的请先登录链接,进入登录页面登录。或者直接在页面内输入用户名和密码登录。单击导航条上各菜单可执行相应的用户服务,控制面板论坛状态,搜索,管理等功能。图5.28论坛首页界面 2.论坛站长界面。图5.29论坛站长界面单击论坛列表中的子论坛界面,页面如图5.30.可以在子论坛页面快速查询文章,查看精华,刷新页面,申请论坛等。单击文章主题进入留言显示界面,显示主题文章及其回复。可修改,编辑主题文章及其回复,也可以阅读当前主题文章的前一个或后一个主题文章。同时可发表新帖子,回复主题文章。同时可发表新帖,回复主题文章。在下方空白回复,单击回复主题按钮,快速回复论坛主题文章,如图5.31图5.30子论坛界面 图5.31论坛文章内容显示界面3.控制面板功能界面。控制面板功能界面分为控制面板首页界面,用户基本论坛资料,密码修改界面。图5.32控制面板界面4.搜索界面。 单击导航栏搜索链接,进入搜索界面,如图5.33所示。首先在空白处输入搜索关键字,然后在下方选择搜索条件,单击开始搜索按钮搜索论坛帖子。图5.33搜索界面第七章结论经过几个月的开发、设计,电子商城系统基本开发完毕。其功能基本符合要求,可以在线购物、发布新闻公告、发布商品信息、对商品发表投诉、进行后台管理等。在本系统的开发过程中,通过对数据库的设计,加强了对表的设计能力。作为数据库软件的主要支持,数据表的设计直接关系到整个系统的质量。使用ACCESS使得整个系统的易用性加强不少,只要找到支持ASP程序的空间,就可以放置整个系统程序,节约开发系统的成本。通过Dreamweaver的使用,掌握了一些服务器行为和插件的使用,提高ASP网站设计的效率。主要学习了ASP中response,request,server,session对象的方法和属性的使用,以及SQL语句的查询,修改,删除数据库中记录的方法。通过本次设计,提高了对于数据库和ASP知识的理解和运用,加强了实践能力。不过由于水平有限和时间上的仓促,在设计系统界面上不够美观,出错处理不够等很多问题上还有待提高。致谢在本次毕业设计实践中,指导教师高建波老师在做人、敬业、创新思维等方面,均给予作者极大的帮助,使作者很受启发。高老师在学业上给予作者认真细致的指导,使作者得以以一种全新的思维方式,投入到这次毕业设计中。在设计过程中,高老师严谨的工作态度和深厚的理论知识水平都使作者受益匪浅,开始 高老师让我们学习ASP对象的属性和方法,对毕设有很大帮助,通过毕业设计作者学到了不少知识和编程经验。在毕业设计过程中,高老师无论是在理论还是实践中,都给予作者细致的指导并提出了许多有价值的意见和建议,使作者得到了很大的提高,在此特向高建波老师致以衷心地感谢。同时,在毕业设计中,作者也参考了大量的参考书籍,这些书藉对作者熟悉编程语言、了解编程模式、提高编程水平都起到了很大的作用,在此,对这些参考书籍的作者表示感谢。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭