![电子商务中购物车的实现专业论文_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-7/16/c855994e-a79e-4641-a8fa-a935413fd612/c855994e-a79e-4641-a8fa-a935413fd6121.gif)
![电子商务中购物车的实现专业论文_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-7/16/c855994e-a79e-4641-a8fa-a935413fd612/c855994e-a79e-4641-a8fa-a935413fd6122.gif)
![电子商务中购物车的实现专业论文_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-7/16/c855994e-a79e-4641-a8fa-a935413fd612/c855994e-a79e-4641-a8fa-a935413fd6123.gif)
![电子商务中购物车的实现专业论文_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-7/16/c855994e-a79e-4641-a8fa-a935413fd612/c855994e-a79e-4641-a8fa-a935413fd6124.gif)
![电子商务中购物车的实现专业论文_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-7/16/c855994e-a79e-4641-a8fa-a935413fd612/c855994e-a79e-4641-a8fa-a935413fd6125.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子商务中购物车的实现张 莉(广东女子职业技术学院 计算机系,广东 广州 511450)摘要:本设计以某汽车配件公司为例,采用白杨(活动的服务器页)编程技术设计购物车来实现顾客在网上超市选购、查询商品,完成购物清单的提交,实现网上购物的功能。 购物车是超市中供每位顾客选购商品时使用,进入网上超市后,每人都有属于自己的购物车,它自动记录计算你选购的商品及其价格,在购物车中您还可以改变商品的数量或取消对某商品的选购.关键字: 购物车;订单;数据库一、 引言以往要购买一件商品,往往要到公司或商场里面去购买,然后再将商品带回家,如果只是购买一个小小的商品,也要花上不少的时间和精力才能完成,但是如果利用
2、互联网的电子商务,只要在家轻松的利用计算机及网络,很快的找到你的商品,下订单之后商品自然就会送到家中,再也不必为购买而受日晒雨淋及劳累之苦.某汽车配件公司根据发展的需要,改变传统的营销方式,通过互联网快速的传递信息及网页数据内容的丰富化,向全球的消费者宣传自己的产品.网上超市就是利用网络的便利,与顾客直接从网上进行商品交易.当用户通过搜索找到自己想要的商品后,接下来就要选购物品了,首先考虑的是顾客购物的方便。我们应该做到:顾客如果看中某种商品,他所要的仅仅是点一下鼠标,另一方面如果顾客改变主意,减少某种商品的数量,或者是撤消对某商品的选购,也只是点一下鼠标就可以完成。购物车是超市中供每位顾客选
3、购商品时使用,进入网上超市后,每人都有属于自己的购物车,它自动记录计算你选购的商品及其价格,在购物车中您还可以改变商品的数量或取消对某商品的选购。无论您现在处在什么地方,如果您还要选购商品,则选择“继续选购”的动作;要不您可以经由“查看购物车”确认对商品的选购后进入“付款处”结算。通过浏览或查询到您需要的商品后,点击商品旁边的“增加汽车”图标即实现了商品的选购,商品放进属于您自己的购物车中。如果您已经注册为会员并已登录,则在付款处中形成您的购物订单;否则您可以进行注册或登录,以便您的个人详细联系资料与购物单形成订货单。考虑到显示的直观性,顾客在每次点击完鼠标后,都能看到当前所选购商品的清单,包
4、括选购的各种商品的数量,购置该种商品的总金额,以及购置商品的合计金额。最后还应考虑到,顾客有时可能要求结账,也可能是要求继续选购商品,所以在用户已经选购的商品清单中应设计三个按钮,分别是“继续购物”、“重新计算价格”、“提交定单”。二、购物程序设计(一) 设计前的准备在开始建设网站之前,我们应该为程序的运行建立好运行平台,由于服务器的要求比较高,可以选用一台硬件较好的计算机,保证系统稳定运行。对于软件的要求,我们可以采用窗口2000服务器作为服务器操作系统,Microsoft Access作后台数据库管理,并安装一些其他网页编辑软件,方便对网页做修改和维护。关于如何配置网络服务器,建立网站的方
5、法在此不作介绍,读者可参考其他资料。(二)建立数据库应用程序会成为与终端用户交换信息的双向通道,而且网站最初的功能是向用户显示产品的信息,然后就是用户依次把他想订购的产品信息传送回网站。对于这个网站,我们创建一个含有多个表的数据库市场。为了将数据存储在数据库中,利用白杨技术,可以实现网页与数据库的互联,从而实现动态更新。根据用户的特点,实现针对性服务,通过与数据库互联,可以实现对用户的浏览权限进行控制,防止非法用户的破坏,主要设计以下几个表:表1 产品登记表(产品)包括以下几个字段:表一 : 产品字段名称字段类型字段说明Itemid自动编号作为记录识别标记的长整型类型itemproductnu
6、mber文 本对每个产品唯一的识别标记itemname文 本包含产品名称itemdescription文 本允许对产品的描述itempicturefile文 本用来显示网上产品的图片文件itemregularprice货 币产品的普通价格itemsaleprice货 币产品的特殊价格itemstockquantity数 字产品的数量beginspecial日期/时间包含产品显示的第一个日期endspecial日期/时间产品的最后显示日期定货表(orders)包括以下几个字段:表2 orders字段名称字段类型字段说明orderid自动编号作为记录识别标识orderdate日期/时间定单完成日期
7、ordertime日期/时间定单完成时间customername文 本定货用户名称customeraddress文 本定货用户地址customercity文 本定货用户所在省customerstate文 本定货用户所在城市customerzip文 本定货用户所在区邮政编码customerphone文 本定货用户 号码orderamount货 币定单金额paymentmethod文 本付款方式3.货细节表(orderdetails)包括以下几个字段:表三:orderdetails字段名称字段类型字段说明orderid数字识别从与该项细节相关orders表中取出的记录productnumber文本
8、识别此细节记录表示的产品的产品号码quantity数字表示定货量price货币定货时的产品价格(三)核心脚本程序(global.asa) 作为系统的全局文件,Global.asa建立在整个应用程序中使用的会话变量,代码放在Global.asa文件的子过程Session_OnStart中。当有顾客光临网站时,即当有用户连接网站时,执行此代码。Global.asa对每个脱离区建立下列变量: Session(CartItemNumArray)是一个包含识别用户加入购物车的产品的项目号码的陈列。 Session(CartItemQtyArray)是另外一个数组,包含用户购物车中产品各自的数量。Sess
9、ion(DBLogin)包含连接应用程序的主要数据资源所需要的登录信息。假定服务器上已建立了一个ODBC连接,DSN会是该变量的一部分。Session(shipbasecharg)和Session(shipitmcharg)包含在线超市的定货的运费.第一个变量表示每个订单费用(底价),第二个表示每项的费用. 这样,一个定单的全部费用就是底价加上运送的货物项数与每项的费用的乘积.前两个变量,session(cartitemnumarray)和session(cartitemsession)用来实现页到页这间的用户购物车的内容传送.其它三个变量,session(dblogin),session(s
10、hipbasecharge)和session(shipitemcharge)在此建立以便在需要时可以改变。Global.asa 文件内容如下:Sub Session_OnStart dim sItemNums(0), nItemQtys(0) sItemNums(0) = nItemQtys(0) = 0 session(CartItemNumArray) = sItemNums session(CartItemQtyArray) = nItemQtys session(DBLogin) = DSN=market session(shipbasecharge) = 4.50 session(s
11、hipitemcharge) = 1.25End Sub(四)网站首页介绍(default.asp) 作为整个网上超市的首页,default.asp是用户访问网站时看到的第一个页面,也是实现购物车的一个入口页面。因此,这个页面应该是简单而引人注目的,我们这里设计的效果是用户看到此页面后可以用两种方式购买货物。首先,在下面的文本框中可输入关键字来搜索产品.第二,在底部列出了当前的特价产品.用户可以用每项产品旁边的“add to cart”按钮迅速选择产品. 为了简化网站设计工作,我们将此网站的主页划分为八个模块(如图一),用户可以通过包含文件header.inc在各模块之间进行切换。为了统一网站
12、风格,分别用header.inc和footer.inc文件定义网页的头尾部分,包含页面颜色、导航条、网站标志、网站浏览说明等,保持网站的一致性。某汽车配件公司网上超市留言本供应商服务交流中心购物车用户注册主页聊天中心友情链接图一:网站总体结构以上是网站包含的所有内容结构模块,限于篇幅,在此只对网站中的购物车部分作介绍,其他部分由读者自己完成。 除了在前面讨论的头文件中的页眉和页脚,default.asp还包含另外两个文件:advbs.inc 由microsoft的操作系统提供,它可以使預先定义的ado常量可以很容易访问vbscript应用程序. procs.inc 包含应用程序中被多个页面使用
13、的一个子过程和一个函数.把这个代码保存在被带入要求的页面中的头文件中,可以减少复制代码,使设计模块化.Procs.inc内容如下:(源程序略) default.asp 中还有两个编程特点,一是包含了用户可以输入搜索关键字的表单,二是包含了用户可以选择并显示数据库中的特价产品. 下面介绍default.asp中包含的几个功能模块:1.产品的在线查询 default.asp中的包含一个输入文本框,txtsearch,使用户可以输入与他寻找的产品的名称、项目号码或描述相符的关键字。搜索图片把这个表提交给prodsearch.asp,它依次执行实际的搜索并显示结果。搜索界面(如图二),页面中的其他修饰
14、部分可由读者自己完成。 2.显示特殊产品在default.asp的后面几行中,还要用一个sql语句寻找主要数据库的products表中的记录,在products中,当前日期在beginspecial和endspecial域之间。此sql语句用来创建一个包含满足标准的记录的记录集rsproducts.检查记录集的eof属性来确定是否找到了相符的记录。若有,则创建一个显示产品的表。执行代码:% set dbMain = server.createobject(ADODB.Connection) dbMain.open session(dblogin)Set rsProducts = Server.
15、CreateObject(ADODB.Recordset)sSQL = SELECT * FROM products WHERE beginspecial = # & date() & #rsProducts.open sSQL, dbMain, adopenstatic, adlockpessimistic, adcmdtext %这些代码在记录集rsproducts的记录间循环,每次调用一个名为writeproductrow的子过程,在default.asp中,writeproductrow是不可见的,它包含在procs.inc中.3.显示某具体产品如上所述,writeproductrow
16、是要在已定义的表中,创建一个显示rsproducts的记录集,并显示当前记录表示的特定产品相关信息。这些相关信息包括下列部分:该产品的图片(如果有的话),图片的名称是通过products表的itempicturefile域的值而获得的。一个包含该产品的项目号(productid)、名称(productname)和描述(description)的信息单元。其中每个项目用特定的字体和不同的颜色显示,使其容易识别。显示产品的当前价格的价格单元。如果产品有售价,(从itemsaleprice域取得)则也报出普通价作为比较,该单元还包含一个用两个特定字符串对shopcart.asp的链接,也就是我们前面
17、所讲的querystring,其中一个告诉shopcart.asp处理的模式是add,一个传送项目号(products).shopcart.asp是一个页面,用来把产品加入用户的购物车。(五)购物车程序设计(shopcart.asp)shopcart.asp可以算是网上超市中工作量最大的页面。不难想象,在实际的超市中,总是有顾客把自己喜欢的东西放在购物车中,有是这些货物将被最终购买,而有时顾客因一时考虑久妥,其实并不是真的需要,所以程序中也要把这些情况都考虑到。整个购物车的设计流程如图四所示:Shopcart.asp内容如下:(源程序略)% sCartItemNums = session(ca
18、rtitemnumarray) nCartItemQtys = session(cartitemqtyarray) nNumCartItems = ubound(sCartItemNums) 确定我们将采取那种工作模式。 如果提交的模式是add,那么就添加购物记录sMode = request.querystring(mode) 此外,还可以直接从form中得到工作模式 select case request.form(cmdSubmit)case 填写订单 sMode = checkoutcase 重新计算价格 sMode = recalc case 继续购物 sMode = continu
19、e end select 图四:购物车流程图如果工作模式是addif sMode = add then nThisItemIndex = 0 if sMode = recalc or sMode = checkout or sMode = continue thenend if select case sModecase continue response.redirect(default.asp) if sMode = checkout thensPageHead = Star在线超市订单填写您如果要购买所选中的商品,请详细提供以下资料,然后单击发出订单按钮 通过查看asp代码可以看到,sh
20、opcart.asp以几种模式中的一种运行,下面讨论每种模式。确定我们将采取那种工作模式。如果提交的模式是add,那么就添加购物记录sMode = request.querystring(mode) 此外,还可以直接从form中得到工作模式 select case request.form(cmdSubmit)case 填写订单 sMode = checkoutcase 重新计算价格 sMode = recalc case 继续购物 sMode = continue end select 根据不同的模式重定向页面 ,如果是add或者recal则仍然处在shopcart.asp中 ,如果是con
21、tinue,则重定向到首页default.asp。这样顾客可以接着购买其他东西,如果是checkout,仍然在shopcart.asp,但是模式已经发生变化。如果我们在default.asp中选中了一种货物,然后单击add to car按钮,将会把商品放入购物车中,并显示出商品的部分信息,并同时提供给用户三个按钮进行选择(如图五)。 图五:购物车信息1.shopcart.asp 的一般结构shopcart.asp中有几个与标准html混合在一起的asp脚本程序。如果页面用一个模式查询字符调入,则调用add模式。否则,页面可能由一个使用了cmdsubmit(一组submit之一)的表调入。sho
22、pcart.asp 可以由request.form(cmdsubmit)的值确定哪种模式正在起作用.在页面不同位置,根据当前的操作模式执行不同的代码.每一个模式都有一个html表单,在add和recalculate模式下,表单的提交对象仍然是shopcart.asp本身.主要原因是,如果用户改变了购物车中一项或几项产品的数量,在重新引导到另一个页面之前有机会在shopcart.asp中执行代码来改变购物车会话变量.2.显示价格等信息在shopcart.asp底部是显示用户购物车内容的代码段,它通过使用asp和一般html的集成来完成该任务,逐行阅读代码可以很容易发现这一点。该代码在代表购物车的
23、数组中逐个遍历,可以找到数据库中每项的位置,显示该项的信息,并对价格进行计算。在购物车中所有项目显示完后,计算运输费,根据公司收费标准,我们定义的运费计算方法为:4.5+(1.25*Nnumitems),即产品的总运费为4.5元再加每件产品1.25元的运输费运.(基于在golbal.asa中描述的会话变量shipbasecharge和shipitemcharge)。最后,显示定购总数,定额总数为购买商品的总费用和运输费用之和。(六)几种工作模式的具体体现(shopcart.asp)1.add模式用户单击他想要购买的物品的旁边的add to cart链接时,第一次调用shopcart.asp.
24、add to cart链把两个查询字符串传送到shopcart.asp,如下例:所以shopcart.asp执行时,根据查询字符串mode的值是add,于是启动add模式,执行以if smode=add开始的代码区。这个代码区浏览scartitemmums数组。它是作为用户的购物车的一部分在整个会话中传送的,从而查看数组中是否已经有了itemno查询字符串表示的项目号码。如果有,则为该项的数量加1,否则,把这一项加入到这个数组中。对购物车执行了这次添加后,大部分其余的asp代码就不再执行,因为它应用于其他模式,而每次数shopcart.asp只会在一个模式下工作。2. continue模式单击
25、继续购物按钮,contiue模式起作用.它把shopcart.asp表提交回shopcart.asp本身,执行代码来响应用户对数量的改变并更新购物车会话变量.然后该用户被引导回default.asp继续购物.3.recalculate模式该模式用于用户购买多件货物时,自动重新计算所需的货物总价格,它实际并不需要,但用户可以用它马上看到被改动数量后的结果。recalculate模式与continue的工作很相似。不过,recalculate允许执行其余部分的shopcart.asp,这使用户可以有效的看到自己的更新结果。假设我们将购买商品的数量改为多个时,单击“重新计算价格”按钮时,价格就会被重
26、新计算。4.checkout模式用户单击“填写订单”按钮时,以checkout模式重新调入shopcart.asp。该模式与recalculate模式相似,但有两处基本的不同,首先是本身的定义,其它的模式是以shopcart.asp为表单提交的目标,而checkout模式将表引导至另一个页面submitorder.asp.下面会看到该页面完成定单并将其加入数据库。还有一处不同的是当以checkout模式执行shopcart.asp时,脚本程序给用户提供填写订单的文本框,用来输入有关货物运输和费用的信息。三、写入订单数据表(一)填写订货单(submitorder.asp)用户在shopcart.
27、asp上输入各种必要的信息,如姓名、住址、联系 、付款方式等之后。单击“提交购物单”按钮来调用submitorder.asp.该页面负责把订货信息加入数据库并对用户的定单进行总结。(源程序略)(二)防止重复提交和不完整信息。submitorder.asp中应包含一段非常有用的代码: if session(salecomplete)=true then session(salecomplete)=false response.redirectdefault.asp end if 此代码是一个用来避免用户在重新装入submitorder.asp时重复发送相同订单的安全特性。在后面的代码中,sess
28、ion变量selecomplete在订单完成后和输入到数据库中时被设定为true。前面的代码检验session的值,如果是true,则命令完成,剩余的页中代码将不再被执行。用户会被再次指向default.asp.完成后,在单击传送命令按钮前,当用户修改shopcart.asp的文本框中的产品数量时,submitorder.asp执行shopcart.asp中的recalculate代码,重新计算价格,为了尽量确保提交无误,我们在submitorder.asp中编写了检查订单的代码,以确保shopcart.asp 每一个文本框用户都已经填写。如果用户有任何一项没有填写,submitorder.a
29、sp都会提醒造成问题的原因,并且建议顾客返回以完成信息的完整输入。输入订单信息后,订单的概述会被显示以便用户打印。它是通过类似shopcart.asp中的购物车形式完成的。(三)清除当前购物信息最后,submitorder.asp中的最后一位代码复位购物车会话变量。这是用来清空购物车的,这样的用户可以决定是否采购更多的商品,但它不允许两次采购同样的货物。实现的代码如下: 通过重定义数组和置空操作,实现了用户所拥有的session变量的复位。四、总结随着Internet的不断普及,Internet应用开发也不断深入与日益广泛。Internet发展到今天,已不再只是公共信息的发布手段,网上通信、网
30、上拍卖、特别是电子商务的应用已成为Internet发展的重要趋势,同时能给中小企业带来新的经济增长点。通过对电子商务网站搭建过程中购物车功能及订货表单提交的实现。我们可以从中了解到网站搭建过程中实现购物车、数据库的建立、数据库的调用、订单提交的设计等。由于该系统适用于中、小型企业初期开展电子商务、电子商情活动,在数据安全、数据库维护方面还有待进一步完善. 参考文献1 廖信彦.ASP应用大全-ASP数据库的整合M.北京:清华大学出版社,2000.2 吴勇强.ASP网络开发技术M. 北京:人民邮电出版社, 2000.3 刘阶萍.深探SQL Server7.0与电子商务开发应用M. 北京:机械工业出版社, 2000.4 唐青松.ASP应用开发全攻略宝典M. 北京:中国水利水电出版社, 2000.The Realizatio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋倒塌申请书
- 大学生网络创业项目介绍
- 转正申请书表格
- 大学生创业计划项目愿景
- 大学生创业直播项目简介
- 全国大学生创新创业项目官网
- 艺术化科学教学
- 免打卡申请书
- 【真题】青岛市中考英语试题附答案
- 女方婚迁申请书
- 建筑工人实名制管理制度及实施方案
- 《养老护理员》-课件:协助老年人穿脱简易矫形器
- GB 1886.227-2024食品安全国家标准食品添加剂吗啉脂肪酸盐果蜡
- 部编版五年级下册语文作业本答案
- 五年级数学(方程)习题及答案汇编
- 萧条中的生存智慧:越是不景气越要成为引擎般的存在
- 海南矿业股份有限公司选矿实验中心建设项目 环评报告
- htcc制备工艺书籍
- 建立高效的员工沟通与反馈机制
- 促进学习的课堂评价:做得对
- 认识负数(单元测试)青岛版五年级下册数学
评论
0/150
提交评论