喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: [问题] 关于购物车的一个bug  
 
squarelove
新手上路
Rank: 1



UID 89962
精华 0
积分 18
帖子 10
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-3-23
状态 离线
关于购物车的一个bug

我现在在做一个卖收藏品的网站,由于是收藏品,所以都是限量发行的。因此在产品信息的那一页,有一项Available Quantity来表示剩余的数量。当客户把一个产品放进购物车后,网页会连接数据库修改Available Quantity。这样做是因为我觉得当客户把一个产品放进购物车后,这个产品对其他人来说就不是available的了。而且如果不即时修改Available的数量的话,该客户就可以在最后checkout付钱之前多次重复地购买同一产品,导致购买的数量大于库存数量而出错。
现在购物车正常使用没有问题,但是有一个bug。就是当客户把东西放进购物车,然后在checkout付钱之前把浏览器关掉或者离开了当前网站,就会导致数据库的数据错误,因为他没有购买,但是却减少了产品available的数量。我想问如何可以侦测到session结束,并在结束这个时刻激发一个事件,来把购物车里面的东西放回架子上呢?

不知道我有没有把问题表达清楚,请大家帮帮忙啦,谢谢!
2007-4-15 05:02 PM#1
查看资料  发短消息  QQ  顶部
 
seakingx
金牌会员
Rank: 6Rank: 6


UID 75142
精华 0
积分 1232
帖子 801
金钱 663 喜悦币
威望 0
人脉 569
阅读权限 70
注册 2006-6-18
来自 海口
状态 离线
[推荐阅读] 申请个友情链接行不
好象甲打开的php页面无法查到乙的session 是否结束。

可能这样做比较好, 和论坛一样, 数据库里加个session 的记录表,  每个客户登入后, 新增信息到session记录表 , 每个操作, 比如查询,购买,等都修改session记录表,记录最后活动时间。
放入购物车后(你的购物车是用session , 还是 cookie 还是数据库实现的?) , 记录信息(物品代码,时间)到已预定信息表中。
付款后或在页面取消预定或在页面退出, 清除该预定信息。 恢复库存。

在查询产品, 准备预定页面(就是可以选择购买,进入购物车的页面) , 在查询可购买数量的时候, 先根据该物品代码,先查预定信息表, 看有没有过期的信息, 比如当前时间-预定时间大于1个小时,则清除该预定信息。 恢复库存。 然后再查询当前库存。 这样就可以解决LZ的问题。

做预定信息表, 可以提示在购买页面, 当前有多少件商品处于预定状态。如果可预定为0,给个小TIPS, 提示用户可以1个小时后再查看一下,有没有人退预定。

个人看法, 欢迎讨论。




锐升科技
2007-4-15 05:29 PM#2
查看资料  Blog  发短消息  QQ  顶部
 
squarelove
新手上路
Rank: 1



UID 89962
精华 0
积分 18
帖子 10
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-3-23
状态 离线
[推荐阅读] 上海服务器托管,上海电信机房,上海双线机房-13916184021-李亮
回复 #2 seakingx 的帖子

嗯,很有启发!我再想想看。
我的购物车是用session的

谢谢你了!!
2007-4-15 07:26 PM#3
查看资料  发短消息  QQ  顶部
 
squarelove
新手上路
Rank: 1



UID 89962
精华 0
积分 18
帖子 10
金钱 18 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2007-3-23
状态 离线
[推荐阅读] 有个数组问题,转不过来了
回复 #2 seakingx 的帖子

在用户关闭浏览器,或者离开这个网站的时候,session的变量就会结束。其实我还想问在网页中能不能加入一些代码,侦测到如果session变量结束(不是unset那种,清空购物车不算session变量结束),在离开站点之前激发一个事件,把购物车里没有checkout的东西放回去呢?
2007-4-15 11:38 PM#4
查看资料  发短消息  QQ  顶部
 
axpwx
注册会员
Rank: 2
初级会员



UID 68773
精华 0
积分 120
帖子 108
金钱 120 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-2-21
来自 山东菏泽
状态 离线
[推荐阅读] 请教高手帮忙讲讲这个代码
楼主这样设计是有问题的,如果许多用户都把它放进购物车而不购买,那别人不是就不能买了?建议还是付钱之后再减少。如果一定要按你想的做,建议再加一个字段,这样一个字段记录有多少放进了购物车,一个字段记录有多少付了钱。



从小我就对那些放个P就跑的人深恶痛绝,因此,我对自己发的每个帖子甚至回复,都会抱着负责的态度经常回来看看
2007-4-16 12:55 AM#5
查看资料  访问主页  发短消息  QQ  顶部
 
seakingx
金牌会员
Rank: 6Rank: 6


UID 75142
精华 0
积分 1232
帖子 801
金钱 663 喜悦币
威望 0
人脉 569
阅读权限 70
注册 2006-6-18
来自 海口
状态 离线
[推荐阅读] 鼠标移上的效果
回复 #4 squarelove 的帖子

这个不是很清楚, 你去icbc.com.cn 里看看, 如果进如个人网上银行后, 如果关闭页面会有个提示。



锐升科技
2007-4-16 09:00 AM#6
查看资料  Blog  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.025031 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP