基本信息
源码名称:asp购物车实例代码
源码大小:3.18KB
文件格式:.rar
开发语言:ASP
更新时间:2015-06-21
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
【精华】asp购物车原理及其源代码 <% '========================== '购物车类 类名:UserCart '作者:Cosiray '基本原理:此类用服务器Session变量保存商品数据,商品用一个数组表示.此类里面保存了三中商品价格. '========================== Class UserCart '建立购物车 Sub CreateCart() dim CFlag,i dim mCart(6,0) CFlag=CheckCart() if CFlag=false then For i=LBound(mCart,2) to UBound(mCart,2) mCart(0,i)="" next Session("User_Cart")=mCart end if End Sub '检查购物车 Public Function CheckCart() IF IsArray(Session("User_Cart")) Then CheckCart=true Else CheckCart=false End If End Function '检查购物车是否为空 Function CheckEmtpy() dim mCart,i mCart=Session("User_Cart") For i=LBound(mCart,2) to UBound(mCart,2) if mCart(0,i)<>"" then CheckEmtpy=false Exit Function end if next CheckEmtpy=True End Function '添加商品 Function AddItem(aID,aName,aPrice1,aPrice2,aPrice3,aCount,aImage) dim mCart,i AddItem=false if CheckItem(aID)=false then '无此商品 mCart=Session("User_Cart") For i=LBound(mCart,2) to UBound(mCart,2) if mCart(0,i)="" then mCart(0,i)=aID mCart(1,i)=aName mCart(2,i)=aPrice1 mCart(3,i)=aPrice2 mCart(4,i)=aPrice3 mCart(5,i)=aCount mCart(6,i)=aImage Session("User_Cart")=mCart AddItem=true exit Function end if next i=i 1 Redim preserve mCart(6,i) mCart(0,i)=aID mCart(1,i)=aName mCart(2,i)=aPrice1 mCart(3,i)=aPrice2 mCart(4,i)=aPrice3 mCart(5,i)=aCount mCart(6,i)=aImage Session("User_Cart")=mCart AddItem=True Else '有此商品,则商品数量 1 ModifItem aID,aCount,0 AddItem=True End if End Function '删除商品数量 Sub DelItem(mID) '改进2008-12-25by tommy 增加删除商品过程 dim mCart,i,j,mount response.Write(mID) mCart=Session("User_Cart") mount=UBound(mCart,2) If mID=mount Then mount=mount-1 mCart(0,mount 1)="" ReDim Preserve mCart(6,mount) Else mount=mount-1 For i=mID To mount For j=0 To 6 mCart(j,i)=mCart(j,i 1) Next Next mCart(0,mount 1)="" ReDim Preserve mCart(6,mount) End If Session("User_Cart")=mCart End Sub '修改商品数量 Sub ModifItem(mID,mCount,mFlag) 'mFlag-标志 0-添加 1-删除,2-修改 3-清空 'mID-商品ID 'mCount-修改商品的数量 dim mCart,i mCart=Session("User_Cart") For i=LBound(mCart,2) to UBound(mCart,2) if mCart(0,i)=mID then select case mFlag case 1 mCart(5,i)=mCart(5,i)-mCount case 0 mCart(5,i)=mCart(5,i) mCount case 2 if mCount=0 then mCart(5,i)=0 mCart(0,i)="" else mCart(5,i)=mCount end if case 3 mCart(5,i)=0 mCart(0,i)="" end select Session("User_Cart")=mCart exit Sub end if next End Sub '查看推车 Function ViewCart() dim mCart mCart=Session("User_Cart") ViewCart=mCart End Function '检查商品 Function CheckItem(cID) dim mCart,i mCart=Session("User_Cart") For i=LBound(mCart,2) to UBound(mCart,2) if mCart(0,i)=cID then CheckItem=True exit Function end if next CheckItem=false End Function '清空购物车 Sub RemoveAll() dim mCart,i mCart=Session("User_Cart") For i=LBound(mCart,2) to UBound(mCart,2) mCart(0,i)="" next Session("User_Cart")=mCart End Sub '商品总价值 Function TPrice() dim mCart,i dim OutPrice(3) mCart=Session("User_Cart") for i=LBound(mCart,2) to UBound(mCart,2) if mCart(0,i)<>"" then Outprice(0)=Outprice(0) mCart(2,i)*mCart(5,i) Outprice(1)=Outprice(1) mCart(3,i)*mCart(5,i) Outprice(2)=Outprice(2) mCart(4,i)*mCart(5,i) Outprice(3)=OutPrice(3) mCart(5,i) end if next TPrice=OutPrice End Function End Class '================================================= '建立购物车对象,该对象用于直接在程序中调用 '================================================= dim uCart set uCart= new UserCart %> 使用: 第1 '================================================= '建立购物车对象,该对象用于直接在程序中调用 '================================================= dim uCart set uCart= new UserCart 第二 建立一个购物车 uCart.CreateCart (可以重复建立,因为里面有IsArray判断。所以建议这句在建立购物车对象后必写) 第三 增加购物车里的商品,在客户端点了某产品后,服务器端处理的ASP文件中接受传过来的产品标志,并访问数据库。分别把AddItem(aID产品标 志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格三如金牌会员价,如果没这么多可以置空 或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址) 使用方法:aa=uCart.AddItem(aID产品标志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格 三如金牌会员价,如果没这么多可以置空或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址),返回 true表示成功,false表示失败 第四 增加了以后进如显示页面,就要用到查看购物车 mycart=uCart.ViewCart() For i =LBound(myCart,2) to UBound(myCart,2) if myCart(0,i)<>"" then myCart(0,i) '获取标号 myCart(1,i) '获取单价 。。。以此类推 end if next 第五 查看了,可以修改购物车,如更改数量等,或是删除其中的 call uCart.ModifItem(mID唯一标志号,mCount产品数量,mFlag-标志 0-添加 1-删除,2-修改 3-清空) '先用给后面参数赋值 修改其中的商品 可以用第四个显示,先接受session的值,然后循环修改 或清空购物车 uCart.RemoveAll() 然后结帐,很简单 myprice=uCart.TPrice() 然后myprice(0)是产品单价的总价格,myprice(1)是产品会员价的总价格,myprice(2)是高级会员的总价格,myprice(3)是产品总数量 将商品装入购物车,这时需要用cookie或session来做一个不同页面间传递的全局变量,也就是说关了浏览器(针对session)或清楚了cookie等原因,本次购物车会消失,就象你今天在商场买了一车的东西,最后没结帐,明天肯定没了,又归位了,当然要有特殊需要保存,可以写数据库!所以这里记录的只需要是该商品的相关信息就可以了,这里我们记录他的 物品ID, 物品单价, 物品名称, 物品数量 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <form name="form1" action="AddToCart.asp?action=save" method="post"> 产品Id:<input type="text" name="produceId" /> 产品名称:<input type="text" name="produceName" /> 产品单价:<input type="text" name="producePrice" /> 产品数量:<input type="text" name="buynum" /> <input type="submit" /> </form> <br> <% dim action action=request("action") If action="save" Then Dim aId,aName,aPrice,aCount aId=request.Form("produceId") aName=request.Form("produceName") aPrice=request.Form("producePrice") aCount=request.Form("buynum") uCart.CreateCart if uCart.AddItem(aId,aName,aPrice,0,0,aCount,0) then CALL COSIRAY.ErrView("","","<li>添加成功!<script>function Close(){parent.closeWithIframe();}setTimeout(""location.href='AddToCart.asp';Close();"",1000)</script>",1) else CALL COSIRAY.ErrView("","","<li>操作错误<li>此界面 3 秒钟后自动关闭<script>function Close(){parent.closeWithIframe();}setTimeout(""history.go(-1);Close();"",1000)</script>",0) end if ElseIf action="del" Then aId=request("produceId") aa=uCart.DelItem(aId) response.Redirect("AddToCart.asp") End If if true then dim i,MyPrice,myCart myCart = uCart.ViewCart %> <table border="1"> <tr> <th> 产品编号 </th> <th> 产品名称 </th> <th> 产品价格 </th> <th> 产品数量 </th> <th> 操作 </th> </tr> <% For i = LBound(myCart,2) To UBound(myCart,2) If myCart(0,i)<>"" Then '以前的判断语句 %> <tr> <td> <%=MyCart(0,i)%></td> <td> <%=MyCart(1,i)%></td> <td> <%=MyCart(2,i)%></td> <td> <%=MyCart(5,i)%></td> <td> <a href="AddToCart.asp?action=del&produceId=<%=MyCart(0,i)%>" onclick="return confirm('你确定要删除吗?');"> 删除</a> </td> </tr> <% End If Next MyPrice=uCart.TPrice() %> <tr> <td>总价格:<%=MyPrice(0)%></td> <td colspan="3">产品总数量:<%=MyPrice(3)%></td> </tr> </table> <%end if%> </body> </html>