电子商城系统毕业设计-说明_第1页
电子商城系统毕业设计-说明_第2页
电子商城系统毕业设计-说明_第3页
电子商城系统毕业设计-说明_第4页
电子商城系统毕业设计-说明_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 前言随着互联网的飞速发展,电子商务逐渐走向千家万户。它已经开始影响到人们日常生活的方方面面。同时,我们也开始意识到其中蕴含的巨大商机和商业价值,开始从事电子商务活动。 .电子商务可以通过IE浏览器实现消费者的网上购物和卖家与中介之间的交易。是一种新型的网上银行支付业务运营模式。电子商务是网络技术应用的新发展方向。互联网本身的开放、全球化、低成本、高效率的特点也成为电子商务的特点,并大大超越了电子商务作为一种新的贸易形式的价值。它不仅会改变企业本身的生产经营管理活动,还会影响整个社会的经济运行和结构。电子商城的兴起对传统的购物方式体系产生了强烈冲击,有效缩短了商品的流通周期,使消费者与营

2、销者紧密结合,大大提高了物质流通率。淘宝和当当给我们做了很好的示范。这也告诉我们,开网店是完全可行的。电子商店利用互联网销售各种商品,包括电子产品、食品、化妆品、服装、宠物等,坐在家里也能轻松购物。客户可以浏览各种产品,使用网上银行直接购买自己需要的产品,并通过邮政部门和各快递公司将货物送到客户家中。购物的好处是购物的方便和快捷,提高了购物的效率。顾客也可以给店主留言,写下自己的意见和感受。目前,中国网民数量已超过2亿,人数已达131万,其中16.7%的网民经常光顾和购物。稳步改善。可见,网店是大势所趋。通过以上数据,我们可以愉快地发现网上开店的优势: (1)投资少,见效快; (二)无销售时限

3、; (3) 无销售地点限制。本次毕业设计主要使用HTML基础语言、ASP、Vbscript脚本语言、DREAMWEAVER设计网页,使用数据库知识(ACCESS)设计数据库,使用SQL语句完成数据查询、修改、删除等功能,最终完成整个电子商城系统调试。第二章设计方案本次毕业设计中使用的ASP(Active Server Pages)既不是编程语言也不是开发工具,而是一种技术框架。它可以在不使用 Microsoft 产品的情况下编写代码,或者构建和执行动态、交互式和高效的服务器应用程序。使用ASP,可以将VBscript、javascript等脚本语言嵌入到HTML中,无需编译即可快速完成应用程序

4、,并可直接在服务器端执行。 ASP 很容易编写,可以使用记事本等常用的文本编辑器来完成。由于脚本运行在服务器而不是客户端,ASP使用的脚本语言运行在服务器上,客户端的浏览器不需要提供任何其他支持,大大提高了用户与客户端的交互速度。服务器。此外,它还可以通过内置组件实现更强大的功能,例如使用ADO轻松访问数据库。电子商城系统由B/S(浏览器/服务器)开发。在这种模式下,用户主要通过客户端浏览器浏览系统的工作界面,很少有事务在浏览器中实现。事务在服务器端(Server)上实现。该模式通过IE进行通信,不受地域限制。从而降低了系统维护和升级的成本和工作量,降低了用户的整体成本。电子商城系统的特点是用

5、户在客户端登录系统,然后在系统中浏览、管理或购买商品。系统的预期用户是不确定的。如果需要用户下载安装软件来浏览产品,会增加用户浏览产品的难度,大大减少用户数量。电子商城系统应支持跨平台管理,用户无需下载安装软件。 B/S模式支持跨平台操作,安装浏览器即可。因此,电子商城系统就是使用这个模型来实现的。从而为不同的用户提供统一的界面,界面易于维护。随着微软的不断改进和完善,ACCESS正逐渐成为最便捷的中小型数据库管理系统。 ACCESS支持的SQL命令非常齐全。同时,ACCESS驱动的执行效率非常高。使用ACCESS数据库开发系统,开发人员可以轻松掌握并解决可能出现的问题。基于以上原因,本设计采

6、用ASP+ACCESS来实现这一课题。第三章电子商城系统设计与分析3.1 商城系统介绍电子商城系统是在WEB基础上开发的,旨在构建网上商品购物,由前端购物和后端管理两部分组成。电子商城系统主要实现用户注册、用户登录、商品分类浏览、查看商品介绍、购物车、在线购买、商品评价、商品投诉、商品管理、会员管理等功能。根据这些功能需求,整个系统分为两部分:一是用户使用部分,包括用户登录、分类浏览、购买商品、在线支付等;另一部分是后台管理部分,使用前必须经过管理员认证,包括产品管理、商品投诉管理和会员管理,客户也可以通过论坛提出意见和建议。电子商城系统通过方便快捷的功能、简洁明了的界面、完善的后台管理来满足

7、客户的需求。3.2 软件目标设计(1) 系统的用户登录和认证;系统允许用户注册,注册用户需要认证才能发布产品;当用户进入系统时,需要认证;只有具有特定权限的用户才能进入特定权限的界面。(2) 网上销售商品:注册用户和未注册用户都可以浏览所有产品,查看所有产品的详细信息;注册用户和未注册用户都可以按类别查找产品;允许注册用户通过在线支付方式购买商品;系统为注册用户提供购物车,并允许用户管理购物车。(3) 在线管理货物:只有管理员才能在线管理产品,即管理产品时需要对管理员进行认证;不同级别的管理员只能管理相应的产品。例如,系统管理员可以管理系统中的所有产品,而一般管理员只能管理自己上传的产品。(4

8、) 在线管理用户:系统管理员可以添加、认证和查询用户;系统管理员可以修改系统中的任何用户信息;系统管理员可以删除任何用户。(五)网上管理公告:系统管理员可以添加公告;系统管理员可以修改公告;系统管理员可以删除公告。3.3 设计原则软件系统开发设计原则一般包括以下四个方面:(一)经济实用的原则;(2)兼容原则;(三)信效度原则;(4) 安全原则。由于这个电子商城系统只是一个毕业项目,需要许多改进才能成为一个可行的系统。因此,在本系统的开发过程中,生产和开发并不是严格按照上述要求,而是在对网购的理解的基础上,本系统所做的工作尽可能的符合实际。另外,考虑到系统的易用性,我们在系统的界面设计过程中尽量

9、为用户提供一个友好、清晰、简洁的网络界面。3.4 设计思路本课题为电子商城系统的软件设计。图书馆中有很多关于这个主题的信息。所以在整体设计中,我花了几个星期的时间研究了ASP的六大对象,了解了主要对象的一些属性和方法。花一些时间学习 SQL 语句并使用 ACCESS 设计后端数据库。完成数据库的设计后,开始设计页面。考虑到用户权限的安全性,DoChar()函数用于屏蔽一些特殊字符。例如,一些非法用户会在IE地址栏中键入一些SQL语句来非法连接数据库。该功能用于去除一些非法字符。将字符替换为空格字符进行输出,并在数据库设计中添加 Check 字段以检测用户是否是经过身份验证的用户。非认证用户只能

10、浏览部分功能。最后,在基本功能实现后,进行反复测试和修改,以达到最佳效果。需求分析系统是基于B/S(浏览器/服务器)架构的系统,主要完成商品的浏览和购买,后台管理商品;新增、删除、修改(更新)新闻公告,会员网购用户在论坛发表意见。主意。系统分为前端购物和后端管理。前端购物是用户注册、浏览、订购商品的友好界面;为管理员提供后台管理,包括:产品管理、用户管理、公告管理等,将管理员从繁琐的手工操作中解放出来,提高工作效率。根据系统功能的实现,系统可分为以下功能模块:用户管理模块、商品管理模块、商品类别管理模块、商品投诉管理模块、公告管理模块。用户管理模块包括用户注册和验证、用户信息修改、用户密码修改

11、和用户删除。商品管理模块包括商品上传、修改商品信息、删除商品、添加商品图片、修改和删除商品销售记录和浏览记录。商品类别管理模块包括商品类别的添加、修改、删除等功能。商品投诉管理模块包括商品投诉回复、商品投诉解决和商品投诉删除。对于产品投诉,应保存产品编号、所购买产品的订单号、购买时间等信息。管理公告模块包括增加、修改和删除公告。公告包括公告标题、公告内容、发布时间等信息。由于电子商店中的产品数量可能非常多,因此页面的导航用于产品浏览。用户可以通过单击上一页、下一页、第一页和最后一页来逐页浏览。系统对可靠性、易维护性、安全性、可操作性等性能有更高的要求。可靠性在出现故障或输入数据不合理时需要更高

12、的系统要求;易于维护-系统更改(由系统要求的更改和系统缺陷的补救措施引起)应该简单且易于实施;安全本系统处理的数据必须具有实际意义,不能随意访问和更改。因此,需要控制系统数据的访问和修改,有效保护系统数据,防止数据被非法操作,防止计算机病毒破坏;管理人员,而不是计算机专业人员,要求系统易于理解,人机界面简洁明了。功能实用,操作简单方便,车载培训量少。使系统有效运行。此外,系统还需要有快速的响应速度,以尽量减少工作人员的等待时间。根据前端用户的需求,绘制如下ER图:实体类型实体关系属性图 3.1 ER 图元素说明用户用户名密码权限地址订购数量总金额商品信息商品编号类型编号价格商品名称nm属于m商

13、品类型1类型编号类型名称发布1公告信息m用户编号公告内容货存用户编号图3.2 电子商城系统ER图通过订单关系链接用户和产品信息表,可以将m:n二进制链接转化为关系模型。关系模型是:用户(用户 ID 、密码、用户名、权限、地址);产品信息(商品编号、型号、商品名称、价格、库存)订单(用户 ID、项目 ID 、数量、总金额)通过投诉关系将用户和产品信息表链接起来,可以将 m:n 二进制链接转换为关系模型。关系模型是:用户(用户 ID 、密码、用户名、权限、地址);产品信息(商品编号、型号、商品名称、价格、库存)从以上分析可以看出,系统有用户、商品类别、商品、订单、投诉、公告等实体,其中实体对应数据

14、库中的表,属性对应表中的字段,关系对应到数据库中的表。表之间的连接。3.6 系统大纲设计在软件需求分析阶段,明确了软件“做什么”的问题。我们现在要做的就是把软件“做什么”的逻辑模型转化为“怎么做”的物理模型,即实现软件的需求。首先,需要描述的是系统的整体架构。3.6.1系统结构设计在系统的外形设计中,最重要的是系统的模块化。模块化是指在解决一个复杂问题时,将一个软件系统从上到下逐层划分为若干模块的过程。每个模块执行特定的功能。所有模块以一定的方式组织成一个整体,以完成整个系统所需的功能。将系统划分为多个模块的目的是为了降低软件系统的复杂度,提高可读性和可维护性,但模块的划分不能随意,应尽可能保

15、持独立。也就是说,每个模块只完成系统所需的独立子功能,与其他模块的联系最少,接口简单,即尽量做到高集成低耦合,改进独立模块,设计高质量的软件。结构奠定基础。系统外形设计采用结构设计( SD)。 SD是基于需求分析阶段生成的数据流图DFD,按照一定的步骤映射到软件结构中。首先,整个系统分为几个小问题和小模块。本系统设计了浏览公告模块、浏览商品模块、购买商品模块、商品投诉模块、用户注册模块、公告管理模块、商品管理模块、订单管理模块、投诉管理模块、用户管理模块和柜台模块。3.6.2功能模块规划与分析为了方便电子商城系统的设计和开发,根据系统的功能需求,采用模块化设计。整个电子商城系统可以分为以下11

16、个功能模块:浏览公告模块:该模块实现前台公告信息的浏览,无权限限制。注册用户和非注册用户都可以浏览公告。商品浏览模块:该模块实现了前端商品和商品信息的无权限浏览。注册用户和非注册用户都可以浏览产品和查看所有产品信息。采购模块:该模块专门为注册用户提供给以上级别的用户。它允许注册用户通过在线支付购买商品。系统为注册用户提供购物车,并允许用户管理购物车。订单管理功能,并允许这些用户处理相应的订单。商品投诉模块:该模块是专门为注册用户提供的,供级别以上用户使用。它允许购买产品的用户抱怨产品,而管理员则提出解决方案。用户注册模块:该模块包括会员注册、填写相关信息、用户登录和信息修改。公告管理:该模块专

17、门提供给管理员使用,系统管理员可以添加公告,系统管理员可以修改公告,系统管理员可以删除公告。商品管理模块:在该模块中,只有管理员可以在线管理商品,即管理员在管理商品时需要经过认证。不同级别的管理员只能管理相应的产品。例如,系统管理员可以管理系统中的所有项目。 ,一般管理员只能管理自己上传的商品。订单管理模块:不同级别的管理员只能管理相应的订单。例如,系统管理员可以管理系统中所有产品的订单,而一般管理员只能管理自己上传的产品的订单。投诉管理模块:任何购买过产品的用户都可以对所购买的产品进行投诉。只有管理员可以删除已回复的投诉。管理员可以通过回复来处理投诉或解决问题。用户管理模块:系统管理员可以添

18、加、验证和查询用户,系统管理员可以修改系统中的任何用户信息,系统管理员可以删除任何用户。在各个模块的设计中,要注意它们之间的相对独立性,减少它们之间的耦合,缓解模块化设计的难度。各模块的关系如图 3.5 系统功能模块图所示。电子商城系统前台购物后台管理浏览商品购买商品商品评价用户注册分类管理商品管理订单管理评价管理用户管理广告显示购物车发布广告图 3.5 系统功能框图第四章系统数据库设计4.1 数据库概念结构设计根据系统的需求分析和数据库的需求分析,同时根据相关部分的数据流程图,进行系统数据库的概念结构设计。根据数据关系模型和数据库关系模型,我们创建了电子商城系统数据表。本系统共有9张数据表,

19、分别为:用户信息表(users)、商品类型表(GoodType)、商品信息表(Goods)、柜台信息表(webcount)、订单信息表(Shop_list)、公告信息表( board)、用户投诉表(Complain)、论坛基本信息表(bbsconfig)、论坛留言回复表( reforum )。4.1.1建立数据库的原则建立数据库时,由于表中存储的信息不同,表中所需的字段也不同。确定必填字段时有五个原则:1. 描述不同主题的字段应该属于不同的表。通过定义它们之间的关系,可以将多个表中的字段与数据结合起来,生成各种表或报表;2. 不要将导出或计算的数据存储在表格中;3. 收集所有必需的信息。应彻底

20、检查书面表格和报告,以确定所需数据包含在设计表格中或可以从设计表格中计算出来;4.以最小的逻辑单元存储信息,并尽量将信息分解成更小的逻辑单元;5.对于主键字段,ACCESS不允许重复值或NULL值。4.1.2创建字段的原则在实际选择和确定数据类型时,应结合字段本身考虑以下四点:1、该字段用于存储什么类型的值?2、对字段中的值进行什么类型的操作;3.是过滤还是按字段排序;4. 是否按字段对记录进行分组。4.2 数据库逻辑结构设计数据库的概念结构设计完成后,可以将数据库的概念结构转化为数据库系统支持的实际数据模型,即数据库的逻辑结构。在电子商城系统中,共有9张数据表,分别是:用户信息表(users

21、)、商品类型表(GoodType)、商品信息表(Goods)、柜台信息表(webcount)、订单信息表(Shop_list) ) ) 、公告信息表(Board)、用户投诉表(Complain)、论坛基本信息表(bbsconfig)、论坛留言回复表( reforum )。用户信息表( users )信息如表4-1所示。表 4-1 用户信息表字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要用户身份用户身份文本12没有不要用户名残疾人文本12没有不要用户密码性别不管1没有不要性别地址文本100没有不要地址电子邮件文本30没有是的电话文本20没有不要允许数字1没有不要用

22、户类权限用户检查不管1没有不要用户是否经过身份验证创建此表时,需要创建系统管理员admin。本系统中系统管理员的允许字段为“1”,普通管理员为“2”,普通注册用户为“3”。Usercheck=0,未经身份验证的用户; =1,认证用户。GoodsType表如表 4-2 所示。表 4-2 商品类型表字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要产品类别序列号姓名文本20没有不要产品类别名称类型文本20没有不要产品类别产品信息表( Goods )信息如表4-3所示。表 4-3 产品信息表字段名称数据类型字段大小默认值是否允许为空字段说明ShopID 主键自动编号4没有

23、不要产品编号类型 ID文本10没有不要类别编号用户身份文本12没有不要用户名姓名文本20没有不要产品名称制片人文本50没有是的制造商盒文本30没有是的包装型号价格数字8没有不要价格售价数字8没有不要售价折扣数字4没有是的折扣内容文本200没有是的产品描述邮政时间约会时间8没有是的上传时间现货供应数字4没有不要库存商品数量读数数字4没有是的项目被查看的次数购买次数数字4没有是的购买产品的次数图像文件文本30没有是的产品图片名称和路径货物检验不管1没有不要产品是否经过验证计数器信息表( webcount )信息如表 4-4 所示。表 4-4计数器信息表字段名称数据类型字段大小默认值是否允许为空字段

24、说明count_id 主键自动编号4没有不要数数count_ip文本15没有不要客户端 IP计算时间约会时间8现在()不要面试时间计数器信息表包含count( count_id )、客户IP( count_ip)和访客访问时间( count_time ),其中count( count_id )为关键字,数据类型为自动编号,所以添加数据时会自动添加一个编号,不再重复。浏览器访问时间( count_time )的默认值是Now(),所以我们可以使用该函数自动获取浏览器访问时间,并在添加数据时自动存入数据表中。订单信息表( Shop_list )信息如表 4-5 所示。表 4-5订单信息表字段名称数

25、据类型字段大小默认值是否允许为空字段说明OrderSn 主键自动编号4没有不要订单号用户身份文本12没有不要购买商品的用户 ID店铺名称文本20没有不要购买商品的名称店铺编号数字4没有不要产品编号成本数字8没有不要价格编号数字4没有不要购买的物品数量折扣数字4没有不要折扣总消费数字8没有不要总购买价订购时间约会时间8没有不要购买时间店铺检查数字1没有不要订单处理类型易福宽数字8没有不要支付的金额ShopCheck=0,订单未处理; =1,订单已处理。公告信息表( Board )信息如表4-6所示。表 4-6公告信息表字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要

26、公告编号标题文本20没有不要公告标题内容文本200没有不要公告内容邮政时间时间/日期8没有不要公布时间用户身份文本12没有不要发布公告的用户 ID用户投诉表( Complain )信息如表4-7所示。表 4-7用户投诉表字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要投诉号码用户身份文本12没有不要发布投诉的用户 ID店铺编号数字4没有不要产品用户投诉数量邮政时间时间/日期8没有不要投诉时间内容文本200没有不要投诉结果文本200没有不要投诉解决方案横幅数字1没有不要投诉解决状态Flag=0,表示用户问题没有解决,Flag=1,表示用户问题已经解决。论坛基本信息表

27、(bbsconfig)如表4-8所示表4-8论坛基本信息字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要用户身份论坛名称文本20没有不要论坛名称缓和文本12没有不要论坛版主信息文本50没有不要论坛介绍经过数字1没有不要论坛访问隐藏数字1没有是的隐藏论坛最后一个话题文本30没有是的最后发帖主题姓文本12没有不要最后的海报名称上次约会时间8没有不要最后发帖时间论坛消息回复信息表( reforum )如表4-9所示表4-9论坛留言回复信息表字段名称数据类型字段大小默认值是否允许为空字段说明身份证主键自动编号4没有不要留言号码主题 ID文本4没有不要主题号用户身份文本12

28、没有不要用户名内容文本200没有不要回复发帖时间约会时间8没有不要响应时间第五章系统功能和模块的设计与实现数据表设计完成后,应设计系统功能和模块。在本设计中,Dreamweaver主要在ASP中使用Request(主要是获取表单中的数据)、Response(主要是实现输出相关内容)、Server(主要是实现文件相关路径的设置建立Connection对象),Session(主要实现用户信息的存储和购物车的实现),几大对象的属性和方法,用SQL语句,IF .else语句编写,完成系统功能的设计和模块和界面的设计。数据库ACCESS和ASP都是通过ADO实现的, ADO使用RecordSets对象集

29、作为数据的主要接口。使用SQL语句完成数据查询、过滤、分组等功能。5.1 创建数据库打开ACCESS,在菜单中点击New,然后选择New Empty Database,设置数据库名称。根据数据库的逻辑结构设计,选择使用设计器创建表来创建各个模块需要的数据表。5.3 系统模块的设计与实现5.3.1系统界面和导航栏设计电子商城系统给人第一印象的关键是界面,而易用性和易用性与导航栏的设置有很大关系。本系统的界面风格在top.asp文件,信息在bottom.asp文件,登录界面和搜索界面在left.asp,产品分类,最新投诉,热销产品,以及相关产品包含在权利中。在 asp。几乎每个模块中的所有文件都调

30、用了top.asp和bottom.asp,统一了界面风格,使整个界面更加简洁友好。 top.asp如图5.1所示,导航栏界面。系统首页 index.asp 调用 top.asp、bottom.asp、 left.asp、right.asp 。图5.1 top.asp导航栏界面5.3.2数据库联动与计数器连接的主数据库使用以下代码SetConn=Server.CreateObject(ADODB.Connection)Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(User.mdb

31、)Conn.open_ _Server.CreateObject的作用是创建Connection对象,Server.Mappath的作用是查找数据库的路径。5.3.3注册和登录模块在购物系统首页,用户点击“注册”链接,如图5.2所示,注册信息保存在user/UserReg.asp中。图 5.2 注册用户界面处理注册信息的文件是UserInsert.asp,实现过程如下。获取注册信息。获取注册信息主要是通过Request对象的Form集合获取表单中的用户名和密码,用于连接性别、联系人、手机。主要实现代码如下:username=trim(Request.form(username) , pwd=t

32、rim(Request.form(pwd) , email=Request.form(email) , tel=Request.form( Telephone )检查注册信息是否完整。主要是通过If . else语句来检测表单中的数据是否为空。例如:如果username= then result=result&.User cannot be empty!,username为空时会提示错误信息,以此类推,到检测密码。检测格式代码为:n=Instr(email, ” ) 确认位置,如果没有这个符号,则表示格式错误。 if n0 then m=instr(n,email,.) 如果是,检查是否有符号

33、.,如果没有,则认为电子域名错误。 if m=len(email) then result= 邮件格式错误 End if .检查用户名是否存在。使用 SQL 语句:Set rs = Conn.Execute(Select * from Users where UserId= & uid & )If Not rs.Eof Then如果指针不指向最后一个记录集,并且在表的某个字段中找到相同的ID,会弹出一个对话框“此用户名已存在”alert(这个用户名已经存在!);历史.go(-1);要添加新用户,请使用 SQL 语句:sql=insert user(userid, password, usern

34、ame, gender, address, email, phone, mobile, allowed) value(&_uid&,&pwd&,&username&,&Sex& , &address&,&email&,&_Request(telephone)&,&Request(mobile)&,&TypeUser&)5.3.4用户管理中心模块用户登录后,首页左侧显示用户管理中心界面,如图5.3所示图 5.3 用户管理中心界面功能包括修改信息、修改密码、客户投诉、我的投诉、管理界面、购物车、注销。1.更改信息界面该界面与用户注册界面类似,只是界面的每一部分都设置了用户信息。图 5.4图 5.4

35、 更改用户信息界面关键代码是:sql = Select * From Users Where UserId=&userID & and PWD=&Session(Password)&设置查询语句,为了保证安全,密码和用户名必须是修改前一样。处理和修改用户信息的文件是 UserInsert.asp。实施过程如下:获取修改后的用户信息。检查用户信息是否完整,如果不完整,返回错误信息。修改数据库中的用户信息。其中,使用SQL更新语句,使用Request对象和Session对象。sql=UpdateUsers Set UserName=&Request(username)&,Sex=&Sex&, &_

36、 地址=&Request(address)&,Telephone=&Request(telephone)&,Mobile=&Request(mobile)&_ ,Email=&Request(email)&,Allow= &TypeUser& where UserId=&uid &使用表中获取的数据更新Users表中的对应字段,条件是只更新指定的UserId。会话(“用户名”)=请求(“用户名”)会话(“地址”)=请求(“地址”)Session(Email)=Request(email)使用此时表单中获取的数据来替换此时服务器中保存在会话中的数据。2.修改密码界面点击“修改密码”,进入修改密码

37、界面,如图5.5所示图 5.5 修改用户密码界面修改用户密码需要用户输入原密码并输入两次新密码。网店系统验证当前用户名和当前密码是否相同。代码显示如下:sql = Select * From Users Where UserId=&Session(userid)& and PWD=&Session(Password)& 设置验证用户密码和用户名是否相同。Set rs = Conn.Execute(sql)执行 SQL 语句。如果 rs.EOF Then指针指向最后一个位置,没有找到一致的字段,则无法修改。Response.Write 您没有修改权限!文件ResetPwd.asp完成密码修改功能

38、,实现过程如下。获取密码。UserId= request.queryString(userid)获取用户名。oldpwd= trim(Request.form(oldpwd)获取表单中输入的密码。检查输入密码newpwd=trim(Request.form(newpwd)获取新密码。If newpwd= Then result=result&.用户密码不能为空! 新密码不能为空。confirmpwd=trim(Request.form(confirmpwd)获取输入的确认密码。If confirmpwdnewpwd Then result=result&.两次输入的密码不同!检查确认密码是否与

39、输入的新密码相同。更新密码Conn.Execute(Update users set PWD=&newpwd& where UserId=&UserId&)更新users表中的密码,条件是只更新获取到的用户名。Session(userid) = UserId使用此时获取的用户名来更新保存在Session中的用户名。Session(Password) = newpwd使用此时获取的密码更新保存在Session中的密码。3.购物车界面购物车是用户已选择但未付款的商品。用户选择的产品存储在shop_list表中,User字段是保存该产品购买的用户,check字段是产品是否售出的信息。因此,通过查询表

40、中User字段为当前用户,字段Check0(0表示没有交易)的记录,可以知道用户购买的产品。购物车界面如图5.6所示:图 5.6 购物车界面查询用户选择的项目。这些项目存储在 shop_list 表中,ShopCheck 字段的值为“0”。Sql=SELECT ID,User,ShopName,Cost,Num,TotalCost,Discount,Time,ShopCheck,OrderNumber FROM shop_list WHERE ShopCheck=0 and user= & Session(userid) & 列出必填字段显示,查询用户选择的产品。set rs=Conn.Exe

41、cute(Sql)执行 SQL 语句。确定所选项目是否存在。如果查询结果为空,则用户没有要购买的商品。如果是rs.EOF,如果指针知道最后的位置,仍然找不到符合要求的记录,会提示购物车中没有商品Response.Write Cart has no items! & _产品类型 显示表格的标题。购物车界面使用字段名称作为表格的标题。For I = 0 To rs.Fields.Count 1列出所有字段名称,字段编号和名称存储在 Fields 字段中。如果 rs.Fields(I).NameID则不显示 ID 字段以确保安全Response.Write & rs.Fields(I).Name &

42、 以防万一下一个Response.Write 删除(4) 显示购物车商品信息的代码如下:For I = 0 To rs.Fields.Count 1列出所有字段名称,字段编号和名称存储在 Fields 字段中。如果 rs.Fields(I).Name=ShopCheck 则当字段名称为 shopcheck 时。如果 rs.Fields(I).Value=1 则当 shopcheck=1 时,订单已被处理。data = data & 订单处理ElseIf rs.Fields(I).Value=0 那么当 shopcheck=0 时,订单正在处理中。Data = Data & 订单处理以防万一El

43、seIf rs.Fields(I).NameID Then为了安全起见,不显示 ID 字段。数据 = 数据 & & rs.Fields(I).Value & 以防万一下一个Response.WriteDataResponse.Write Delete delete.asp,传ID场信息。Total = Total + rs(TotalCost)*0.8总价优惠 20%。开始用户登录购物车致信息购物确认购物完成NY致购买数量,总价格,与折扣等信息NN商品浏览购买商品在线支付YYNYY图 5.7 产品浏览与采购模块程序流程图5.3.5产品查询界面简单的产品搜索按产品类别和名称搜索所有符合条件的产品

44、。并为用户显示查询结果的详细信息和简要信息,界面如图5.8所示图 5.8 简单查询界面显示的详细信息和简要信息分别如图 5.9 和图 5.10 所示。图 5.9 详情界面图 5.10 简要信息界面首页设置了简单的查询界面,方便用户查询。界面主要包括产品类型和产品名称。通过 GoodsType 表获取产品类别,实现代码如下:sql = Select * From GoodsType设置查询商品类别信息的SQL语句。设置 rs=Conn.Execute(Sql)如果不是rs.Eof,判断是否有产品,如果存在,将产品添加到下拉列表框中。做而不是rs。 Eofoption value=在下拉列表框中显

45、示项目类型选项。简单查询功能主要由Search.asp实现,实现过程如下。获取查询条件。生成查询条件。typeid= Trim(Request(typeid)获取项目类型号。if typeid=如果项目类型号为空,则显示所有项目信息。typeid=全部以防万一如果typeidall,如果商品类型不是所有类型,则查询指定的商品序列号。SearchSql = SearchSql& and TypeId like & typeid&%以防万一gname = Trim(Request(name)获取要查询的产品名称。如果 Not(isNull(gname) 或 Len(gname)=0) Then不为

46、空,则在数据库中查询与输入字段相同的产品名称。SearchSql = SearchSql & 和 Name Like % & gname & %以防万一执行查询。显示产品信息。Set rs= Conn.Execute(Sql)显示页面中的所有记录。For i=1 to nPageSize如果当前页为最后一页,则本页显示的记录数可能少于指定的记录数,因此应在当前记录为最后一条记录时终止显示。If rs.EOF Then Exit For如果 i=1 则 nCurseStart=rs.Fields(ID)nCurseEnd=rs.Fields(ID)a href=GoodsView.asp?id=

47、元5.3.6信息统计电子商城系统提供两种信息统计方式,即销售统计和浏览统计。通过这两种方式,用户可以方便地查看各种商品的销售和浏览情况,引导其购买行为。销售排名按照购买的商品数量降序排列,即购买多的商品排在最前面,购买少的商品排在后面。产品存储在产品表中,其中BuyConut字段存储产品的销售数量,通过查询该字段的值获得销售排行榜。实现代码如下:sql = Select ID,Name,BuyCount as ShopCount,Sn_Number From Goods order by BuyCount DESC从商品表中查询商品的排名,按照采购数量从大到小排列。set rs=Conn.Ex

48、ecute(sql)执行 sql 语句。如果不是rs.Bof或者rs.Eof,当指针不知道第一行或者最后一行的时候,找一条满足条件的记录,然后输出产品信息:ahref=./GoodsView.asp?id=rs.movenext循环输出。戒指以防万一以下排名按产品浏览量的降序排列。实现方式与销量排名相同,但查询语句不同。跟随排行榜的查询SQL语句如下:sql = Select ID,Name,ReadCount as ShopCount,Sn_Number From Goods order by ReadCount DESC5.3.7浏览和购买商品浏览产品会显示有关产品的信息,以方便用户购买产

49、品。电子商城系统提供购物车在线支付功能,用户可以轻松在线购买商品。点击产品的按钮,显示产品的详细信息,包括用户对产品的投诉和问题的解决方法,如图5.11所示图 5.11 产品详情界面实现商品浏览功能的文件是GoodsView.asp。显示产品界面的流程如下:获取产品序列号并连接数据库。ShopID = Request.QueryString( ShopID )获取产品序列号。查询产品是否存在,如果不存在,结束。sql = Select * From Goods where goodscheck=true and ShopID = &Cint( ShopID )从商品表中查询商品进行校验,Sho

50、pID为(1)中得到的ShopID值。Set rsGoods = conn.Execute(sql)执行 SQL 语句。如果rsGoods.Eof Then指针知道最后一条记录,仍然找不到合格的产品,说明没有产品信息。Response.Write 没有关于这个项目的信息更新项目的查看次数。sql = Update Goods Set ReadCount=ReadCount+1 where ShopID =&Cint( ShopID )更新product表中产品的浏览量,浏览量加1,只对应获取到的产品序列号。conn.Execute(sql)显示项目类型。sql = SELECT * FROM

51、GoodsType WHERE Type= & rsGoods(typeid)&设置 rs=Conn.Execute(sql)如果不是rs.EOF 那么Response.Write(rs(name)(5) 展示产品图片。 G oods 表的ImgaeFile 字段存储图片的相对路径和名称,e-mall 系统将上传的产品图片保存在images 文件夹中。所以获取Images字段的值来获取产品图片的路径和名称。如果不是iname=,则图片名称不为空,显示图片信息。img src=/images width= 90”border=0(6) 显示有关产品的附加信息。产品名称显示在记录集中获得的产品名称

52、,其他信息以此类推。(7) 图片的显示顺序。a href=Goods/CATALOG.asp?id=把ID 值被传递到网页。点击商品按钮,进入购买商品界面,如图5.12所示图 5.12 购买产品界面购买界面显示用户购买的商品信息,用户需要输入数量,所以需要获取购买商品的信息。(1) 获取用户ID和产品编号。User=Session(userId)获取用户 ID。goodid=Request.QueryString(id)获取项目编号。(2)查询产品信息。Sql= SELECT ID,Name,Sn_Number,Producer,SalePrice,Discount,Content FROM

53、Goods where goodscheck=true and ID=&Cint(goodsid)(3) 显示表格标题信息。对于 I = 0 到 rs.Fields.Count - 1Response.Write & rs.Fields(I).Name & 读取数据表的字段名作为表的标题。Response.Write 输出表格内容。购买产品后,需要将用户名、产品序列号、购买数量、产品价格、购买总价、订单号放入购物车。 Addtocar.asp 文件实现了添加汽车购买的接口。实施过程如下:(1)获取采购参数,计算总价。GoodsId = Request(shopId)获取产品序列号。Num =

54、Cint(Request(Quantity)获取采购数量。name= Request(shopname)获取商品名称。SalePrice = Request(saleprice)获取销售价格。subTotal = SalePrice * Num 计算金额 = 价格 * 数量。userid = Session(userid)获取用户ID。(2)判断用户是否购买了产品。系统不允许重新购买购物车中的物品。如果用户需要再次购买该商品,则需要删除购物车中已经购买的商品,然后再次购买该商品。判断用户是否购买商品的代码如下:Sql=Select ID from shop_list where ShopChe

55、ck=0 and shopID=&GoodsID从 shop_list 表中查找正在处理的订单if rs.EOF=False then如果找到该订单正在处理的商品,则交易未完成Response.write(商品已购买,但交易不成功!请删除原商品重新购买!)(3) 添加订单。用户的采购订单存放在shop_list表中,添加订单的代码如下:Sql=Insert shop_list(User,ShopName,shopID,Cost,Num,TotalCost,Time,OrderNumber)&_values(&Session(UserName )&,&name&,&GoodsId&,&SaleP

56、rice&,&Num&,&subTotal&,&Now()&_,&MakeOrderNumber(GoodsId)&)点击在线支付,显示确认订单信息界面,如图5.13所示图 5.13 确认订单信息界面Order.asp文件实现了填写收货人信息的接口。过程如下:(1) 计算所有订单的总价和商品名称。Sql= SELECT * FROM shop_list WHERE user= & Session(userid) & 设置 rs=Conn.Execute(Sql)昏暗的名字如果不是rs.EOF 那么总计 = 0Name=Name&rs(店铺名称)&,总计 = 总计 + rs(TotalCost)

57、*0.8(2) 获取用户、地址和联系人。sql=select UserName,Address,Telephone from Users where UserID=&Session(userid)&从users表中查询保存会话的用户、地址和联系人。如果不是rsaddress.EOF,找到相关用户的地址,联系方式,显示出来。 地址=rsaddress(“地址”) 用户名=rsaddress(用户名) 电话 = rsaddress(电话)(3)显示用户信息。Response.write() 订单信息产品名称:付款:元收货地址*: input type=text name=address size=

58、20 value= 联系方式和收货地址代码同上。在确认订单信息界面点击提交按钮,进入网上银行网上支付界面。用户支付后,如果支付状态为20,则表示支付成功,商品库存更新;否则,支付失败或有问题。 AutoReceive.asp文件只处理20的支付状态。代码如下:如果 v_pstatus= ”20”那么如果v_amount=Session( total ),那么如果用户支付的金额等于总价,说明交易成功,会更新所有订单的支付金额,支付的金额等于产品的总价。S ql= ” update shop_list set YIFUKUAN=TotalCost where check= ” 1”and User

59、= ” &Session( “ userid ” )& ”sql= ” select num from shop_list check= ” 1”and User= ” &Session( “ userid ” )& ”获取购买数量。= 更新商品集Inventory=Inventory-num wheregoodscheck= ” and 1”ShopID= ” &Session( “ ShopID ” )& ”商品库存减去成功购买数量即为当前库存数量。5.3.8管理界面在用户管理中心界面进入管理界面,如图5.14图 5.14 管理界面在本系统中,只有系统管理员和普通管理员才能进入管理界面时,

60、需要确定用户的权限。在其他文件中,也需要判断当前用户是否为管理员,方便将判断当前用户是否为管理员的操作放入函数中。在介绍管理界面菜单之前,先介绍一下相关功能。IsAdmin(User)函数判断当前用户是否为系统管理员:是,返回True;不,它返回 False。 IsUser(User)函数判断当前用户是否为普通管理员:是,返回True;不,它返回 False。这两个功能都过滤特殊字符以防止非法用户的攻击。 Dochar(User) 函数的作用是过滤特殊字符。这些函数保存在function.asp 文件中,在使用这些函数之前需要包含该文件。包含的代码如下:Dochar(User)函数可以根据需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论