基于cookies的小型购物车程序
基于cookies的小型购物车程序
最近因为公司项目开发,需要一个购物车程序。
虽然网上很多,但个人很久前就想写个。于是马上动手。
代码有点多,感觉方法不怎么好!
随便post上来,高手可略过~!
mycart.asp客户端:
<form method="POST" action="mycart.asp">
<table border="0" width="489" cellspacing="1" id="table1">
<tr>
<td bgcolor="#C0C0C0">产品名称</td>
<td bgcolor="#C0C0C0">数量</td>
<td bgcolor="#C0C0C0">合价</td>
<td bgcolor="#C0C0C0">操作</td>
</tr>
<%
Nid=split(request.cookies("myCartInfo")("proID"),"|") '商品ID
Nnum=split(request.cookies("myCartInfo")("num"),"|") '订购数量
Nprice=split(request.cookies("myCartInfo")("price"),"|") '单价
for k=1 to ubound(Nid)+1
%>
<tr>
<td>
<%
set rs=conn.execute("select productName from product where id="&Nid(k-1)&"")
response.write rs(0)
set rs=nothing
%>
</td>
<td><input type="text" name="num" size="4" value="<%=Nnum(k-1)%>"></td>
<td>¥<%=Nprice(k-1)*Nnum(k-1)%></td>
<td><a href="mycart.asp?action=remove&location=<%=k-1%>">移除</td>
</tr>
<%next%>
<tr>
<td colspan="4">
<p align="center">
<input type="submit" value="清空购物车" name="action">
<input type="submit" value="继续购物" name="action">
<input type="submit" value="更新数量" name="action">
<input type="submit" value="去结帐" name="action">
</td>
</tr>
</table>
</form>
mycart.asp服务端:
<%
dim action
action=request("action")
select case action
'添加记录
'从产品展示页面“购买”链接过来的
case "add"
productID=HTMLEncode(request.querystring("id"))
set rs=conn.execute("select * from product where id="&productID&"")
if rs.eof then
set rs=nothing
response.write("找不到相应产品!")
response.end
end if
'截取
theid=split(request.cookies("myCartInfo")("proID"),"|")
thenum=split(request.cookies("myCartInfo")("num"),"|")
theprice=split(request.cookies("myCartInfo")("price"),"|")
'清空
response.cookies("myCartInfo")=""
'判断
select case ubound(theid)
case "-1"
response.cookies("myCartInfo")("proID")=productID '产品ID
response.cookies("myCartInfo")("num")=1 '订购数量
response.cookies("myCartInfo")("price")=rs("price2") '单价
response.cookies("myCartInfo").Expires=Date+7
case "0"
if theid(0)=productID then
response.cookies("myCartInfo")("proID")=theid(0)
response.cookies("myCartInfo")("num")=thenum(0)+1
response.cookies("myCartInfo")("price")=theprice(0)
response.cookies("myCartInfo").Expires=Date+7
else
response.cookies("myCartInfo")("proID")=theid(0)&"|"&productID '产品ID
response.cookies("myCartInfo")("num")=thenum(0)&"|"&"1" '订购数量
response.cookies("myCartInfo")("price")=theprice(0)&"|"&rs("price2") '单价
response.cookies("myCartInfo").Expires=Date+7
end if
case else
for mm=1 to ubound(theid)+1
if theid(mm-1)=productID then '此产品ID己存在
if request.cookies("myCartInfo")("proID")="" then
response.cookies("myCartInfo")("proID")=theid(mm-1)
response.cookies("myCartInfo")("num")=thenum(mm-1)+1
response.cookies("myCartInfo")("price")=theprice(mm-1)
else
response.cookies("myCartInfo")("proID")=request.cookies("myCartInfo")("proID")&"|"&theid(mm-1)
response.cookies("myCartInfo")("num")=request.cookies("myCartInfo")("num")&"|"&thenum(mm-1)+1
response.cookies("myCartInfo")("price")=request.cookies("myCartInfo")("price")&"|"&theprice(mm-1)
end if
response.cookies("myCartInfo")(""&productID&"hasadd")=1
response.cookies("myCartInfo").Expires=Date+7
else
if request.cookies("myCartInfo")("proID")="" then
response.cookies("myCartInfo")("proID")=theid(mm-1)
response.cookies("myCartInfo")("num")=thenum(mm-1)
response.cookies("myCartInfo")("price")=theprice(mm-1)
response.cookies("myCartInfo").Expires=Date+7
else
response.cookies("myCartInfo")("proID")=request.cookies("myCartInfo")("proID")&"|"&theid(mm-1) '产品ID
response.cookies("myCartInfo")("num")=request.cookies("myCartInfo")("num")&"|"&thenum(mm-1) '订购数量
response.cookies("myCartInfo")("price")=request.cookies("myCartInfo")("price")&"|"&theprice(mm-1) '单价
response.cookies("myCartInfo").Expires=Date+7
end if
end if
next
if request.cookies("myCartInfo")(""&productID&"hasadd")<>"1" then
response.cookies("myCartInfo")("proID")=request.cookies("myCartInfo")("proID")&"|"&productID '产品ID
response.cookies("myCartInfo")("num")=request.cookies("myCartInfo")("num")&"|"&"1" '订购数量
response.cookies("myCartInfo")("price")=request.cookies("myCartInfo")("price")&"|"&rs("price2") '单价
response.cookies("myCartInfo").Expires=Date+7
end if
end select
set rs=nothing
response.redirect("mycart.asp")
'移除某一商品
case "remove"
theid=split(request.cookies("myCartInfo")("proID"),"|")
thenum=split(request.cookies("myCartInfo")("num"),"|")
theprice=split(request.cookies("myCartInfo")("price"),"|")
response.cookies("myCartInfo")("proID")=""
response.cookies("myCartInfo")("num")=""
response.cookies("myCartInfo")("price")=""
for kk=1 to ubound(theid)+1
if theid(kk-1)=theid(request.querystring("location")) then
else
if kk=1 then
response.cookies("myCartInfo")("proID")=theid(kk-1)
response.cookies("myCartInfo")("num")=thenum(kk-1)
response.cookies("myCartInfo")("price")=theprice(kk-1)
else
if request.cookies("myCartInfo")("proID")="" then
response.cookies("myCartInfo")("proID")=theid(kk-1)
response.cookies("myCartInfo")("num")=thenum(kk-1)
response.cookies("myCartInfo")("price")=theprice(kk-1)
else
response.cookies("myCartInfo")("proID")=request.cookies("myCartInfo")("proID")&"|"&theid(kk-1)
response.cookies("myCartInfo")("num")=request.cookies("myCartInfo")("num")&"|"&thenum(kk-1)
response.cookies("myCartInfo")("price")=request.cookies("myCartInfo")("price")&"|"&theprice(kk-1)
end if
end if
end if
next
response.redirect("mycart.asp")
case "更新数量"
response.cookies("myCartInfo")("num")=""
newNum=HTMLEncode(request.form("num"))
thenum=split(newNum,",")
if ubound(thenum)=0 then
response.cookies("myCartInfo")("num")=thenum(0)
else
for p=1 to ubound(thenum)+1
if p=1 then
response.cookies("myCartInfo")("num")=thenum(p-1)
else
response.cookies("myCartInfo")("num")=request.cookies("myCartInfo")("num")&"|"&trim(thenum(p-1))
end if
next
end if
response.redirect("mycart.asp")
case "去结帐"
'转到要求顾客填写收货信息的页面
'在continueBuy.asp页面要调用订购信息的话,可直接向cookies中调用。调用方法与本页方法类似。
response.redirect("continueBuy.asp?action="&server.urlencode("去结帐"))
response.end
case "清空购物车"
response.cookies("myCartInfo")=""
case "继续购物"
response.Redirect("product.asp")
end select
%>
转载于:https://www.cnblogs.com/footleg/archive/2007/10/28/940522.html
基于cookies的小型购物车程序相关推荐
- 风力机叶片气动设计 matlab 程序,基于MATLAB的小型风力机叶片设计
叶片设计 第25卷第5期2007年10月 文章编号:1000-7709(2007)05-0142-03 水电能源科学WaterResourcesandPower V01.25No.50Ct.20 0 ...
- 2013年测试基于Web的Spring应用程序(第1部分)
2013年测试基于Web的Spring应用程序(第1部分) LJCer和TDD / BDD的一位拥护者最近开始使用广受欢迎的Spring堆栈开发应用程序,他就如何最好地在这种情况下实施测试驱动的方法向 ...
- 基于SpringBoot点餐小程序的开发【前后端】
有个小伙伴临时找到小孟,要开发一个点餐的系统,时间比较着急,给了2天的时间. 马马虎虎的搞出来了,头发掉了一撮! 今年找工作真特么难!985 学生涌入现成当公务员,双非的学生搞得压力很大.硕士找不到工 ...
- 基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现
作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...
- 基于VBS的恶搞/表白程序
引言--什么是VBS VBS是Visual Basic Script的缩写,是一种基于微软Windows操作系统的脚本语言.(就是我们俗称的脚本)它可以在Windows系统上执行许多常见任务,如文件操 ...
- java计算机毕业设计基于安卓Android/微信小程序的电脑组装机配置商城APP
项目介绍 网络的广泛应用给生活带来了十分的便利.所以把组装机配置商城管理与现在网络相结合,利用java技术建设组装机配置商城app,实现组装机配置的信息化.则对于进一步提高组装机配置商城管理发展,丰富 ...
- Vue第二天学习总结—— Vue全家桶之组件化开发(组件化开发思想、组件注册、Vue调试工具用法、组件间数据交互传递、组件插槽、基于组件的案例——购物车)
(一) 组件化开发思想 1. 现实中的组件化思想体现 组件化即是对某些可以进行复用的功能进行封装的标准化工作 标准:要想组件能够成功组合在一起,每个组件必须要有标准 分治:将不同的功能封装到不同的组件 ...
- java图书销售系统_基于springboot的小型图书销售系统 源码下载
源码介绍 本系统采用B/S架构,服务器用的是tomcat服务器,数据库使用mysql,数据库连接池使用的是阿里开源的druid连接池,实现了前后端分离,后端框架基于spring boot整合mybat ...
- 基于安卓/android/微信小程序的连锁药店管理系统app-#计算机毕业设计
项目介绍 随着全球科技的发展,医疗事业也有了很大的进步.医疗事业的进步不仅体现在各类医疗器械和医疗手段上,同时也体现在了药品的多样性上,这就给药房的管理带来了一定的挑战,如果还是使用原始的方式对药房内 ...
最新文章
- 计算机管理信息系统大作业,管理信息系统期末大作业
- Chevereto图片托管php源码_亲测-分享最新微信付费进群收费进群系统源码-附带搭建教...
- mysql悲观锁总结和实践--转
- 大熊君大话NodeJS之------Net模块
- 高考成绩查询2021年莆田市,2021年莆田高考志愿填报系统入口
- 令人纠结的表单设计:水平选项 Or 垂直选项?
- python数据可视化之疫情地图爬虫(含完整代码以及具体报告)
- cocos2dx交叉编译之Android.mk修改
- windows下AV1的编译
- 用TELNET登录QQ邮箱
- AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程
- 毛远丽教授谈机器学习技术在检验医学中的新应用|专家论坛
- 职场健康:大脑20个已知秘密[转]
- XML 是一种元语言, 可以用它来描述其他语言。
- Apple watch 心率监测的原理是什么
- ios 渐变透明背景_渐变色彩的室内应用技巧
- 处理百万位圆周率的txt,用做自己的PI模块
- php70w mysql.x8664_悠久防伪防窜货追溯系统php+mysql版.zip
- 论文参考文献格式大全
- 投资理财-小新分红的意义
热门文章
- 纽曼皮尔逊准则Matlab实现,基于聂曼-皮尔逊准则的skip模式快速选择方法
- java 静态资源变量_Java中读取配置文件中的内容,并将其赋值给静态变量的方法...
- js 删除对象某个属性_JS里的数据类型
- vimproc_mac.so” is not found
- AndroidStudio3.4.2 gradle5.1.1 apt注解解释器不执行
- 开发日记-20190914 关键词 汇编语言王爽版 第七章第八章
- 联邦学习的一些使用库
- pandas dataframe 做机器学习训练数据=》直接使用iloc或者as_matrix即可
- 异常检测——无监督、高斯分布模型,需要带标记的样本数据,基本假设:特征符合高斯分布...
- 我的vim 配置——nerdtree、ack vim、vim sneak