php 如何在页面刷新时不重复操作数据库?
做了一个网站libertyreserve的接口。实现网站会员通过接口充值后,返回相关数据到网站,在数据库中更新该会员的账户余额。现在的做法是:1、在网站上放置充值表单,点...
做了一个网站libertyreserve的接口。实现网站会员通过接口充值后,返回相关数据到网站,在数据库中更新该会员的账户余额。
现在的做法是:
1、在网站上放置充值表单,点击提交到libertyreserve的支付页面。
2、支付完成后,跳转到支付成功页面success.php。
3、success.php接受会员信息和充值信息,更新数据库。
(由于支付接口暂时不能用真实数据测试,我是直接将充值表单页面提交到success.php,在success.php中充值金额等信息直接用具体的值代入,来模拟接收到的数据)。
碰到的问题是:
1、如果按以上操作,到达success.php后,更新了数据库,但是每刷新一次页面,都会重复更新一次数据库。
2、使用页面重定向,支付成功后将success.php 重定向到suceess.html页面。
这是刷新页面不会碰到问题,但是如果直接在浏览器里输入success.php打开,每打开一次就又会出现重复更新数据库了。
这个该如何解决???
因为现在的测试都只是模拟的。不知道支付接口的网站是不是已经解决了这个问题,
在网上看到的方法是对表单页面处理,我想这个表单应该是对应支付页面的那个表单,他是属于libertyreserve接口网站的,我没法改????? 展开
现在的做法是:
1、在网站上放置充值表单,点击提交到libertyreserve的支付页面。
2、支付完成后,跳转到支付成功页面success.php。
3、success.php接受会员信息和充值信息,更新数据库。
(由于支付接口暂时不能用真实数据测试,我是直接将充值表单页面提交到success.php,在success.php中充值金额等信息直接用具体的值代入,来模拟接收到的数据)。
碰到的问题是:
1、如果按以上操作,到达success.php后,更新了数据库,但是每刷新一次页面,都会重复更新一次数据库。
2、使用页面重定向,支付成功后将success.php 重定向到suceess.html页面。
这是刷新页面不会碰到问题,但是如果直接在浏览器里输入success.php打开,每打开一次就又会出现重复更新数据库了。
这个该如何解决???
因为现在的测试都只是模拟的。不知道支付接口的网站是不是已经解决了这个问题,
在网上看到的方法是对表单页面处理,我想这个表单应该是对应支付页面的那个表单,他是属于libertyreserve接口网站的,我没法改????? 展开
展开全部
这个问题首先是你自己设计导致的,想要避免也得改变你的设计,比如一种方式:可以将“直接在浏览器里输入success.php”设计为不能直接访问,以下是其中的两个实现方式。
1.将success.php放到一个不能直接访问的web路径下,在apache中.htacess可以控制访问。
2.控制可以自己来实现,设定一个参数,如果没有该参数则表示不能访问。
不知道是不是你想要的。
1.将success.php放到一个不能直接访问的web路径下,在apache中.htacess可以控制访问。
2.控制可以自己来实现,设定一个参数,如果没有该参数则表示不能访问。
不知道是不是你想要的。
追问
正好是我刚刚想到的,禁止直接通过地址栏访问。 这个回答也正好提供了方案,是我想要的。
有一个疑惑就是,支付成功以后,需要跳到success.php这个页面,来接受数据和执行数据库操作。如果success.php 页面设置了不能直接访问,会不会使success.php的数据库操作就不能执行了????
展开全部
看了个大概,提供一个思路,在页面中使用验证码,在执行任何动作前检查验证码,在验证码检查过后立即使其过期,这样你刷新时验证码就变了,就不会通过验证码检查,自然就不能执行后续代码了.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用cookie控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跳转
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询