• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

购买商品之后刷新页面又扣钱了SegmentFault

php 搞代码 3年前 (2022-01-25) 17次浏览 已收录 0个评论
文章目录[隐藏]

自己做的购买商品,购买成功跳转到(提示页面->ok),刷新提示页面,又重新扣钱了(又把代码走了一遍)。

我想实现当购买之后跳转到成功页面,如果用户手贱再刷新页面,就提示不能重复购买,必须回到商品列表选择购买

现在想不通该怎么做判断,求个思路

本¥文来源gaodai$ma#com搞$代*码*网(搞代gaodaima码

回复内容:

自己做的购买商品,购买成功跳转到(提示页面->ok),刷新提示页面,又重新扣钱了(又把代码走了一遍)。

我想实现当购买之后跳转到成功页面,如果用户手贱再刷新页面,就提示不能重复购买,必须回到商品列表选择购买

现在想不通该怎么做判断,求个思路

逻辑有问题,你确定你是跳转到纯粹的提示页面吗?订单处理之后输出ok和redirect(例如发送header进行url跳转)到ok是不同的,前者会出现你这个情况,后者不会,因为成功页面通常几乎是一个纯html,怎么刷都不会有任何问题的。
另外,如果使用了购物车的话,订单生成后会清空购物车,所以再次刷新由于购物车已空也不会产生重复扣款。
自己仔细想想就行了哈,很容易解决的。

跳转成功后记得die掉所有的程序,还有就是像1楼说的那样—程序有问题,好好检查.

购买完毕 立刻二次跳转,不要让用户停留在提交订单处理页面

通常购买这类程序都是用户提交购买信息,程序验证,逻辑处理(添加订单信息、扣款、发送短信/消息等),提示信息。这其中提交购买信息到验证程序,之后由验证程序调起逻辑处理方法,处理完成后跳转到提示页面,所以在开发过程中要注意将逻辑处理部分与其它部分(验证、提示)等分离开来,逻辑处理程序不能由验证以外的其它部分调起,你显然是在逻辑处理页面直接输入提示信息了而没有转到单独的信息提示页面,在刷新页面时又重新访问了逻辑处理程序造成的这种问题

你在url里带上订单ID,例如/order/1234578,然后打开页面时,先拿到url的订单ID,查一下这个订单是否支付,支付就提示已支付了,如果未支付,就提示顾客再次去支付


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:购买商品之后刷新页面又扣钱了SegmentFault

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址