【发布时间】:2012-05-14 08:50:23
【问题描述】:
我正在开发处理购物车的 wordpress 插件。我有两个页面,结帐页面和感谢页面。通过https://mysite.com/checkout/?action=add&subscription=23 之类的链接将商品添加到购物车。我正在使用 Session 在结帐页面上将商品添加到购物车。
假设如果我添加三个添加项: https://mysite.com/checkout/?action=add&subscription=1 https://mysite.com/checkout/?action=add&subscription=2 https://mysite.com/checkout/?action=add&subscription=3(浏览器地址栏中的最后一个链接)
当用户在结帐页面上结帐时,用户将被重定向到感谢页面。我的浏览器后退按钮有问题,如果用户按下后退按钮,谢谢,他会再次重定向到结帐页面,并再次添加最后一项(https://mysite/checkout/?action=add&subscription=3),因为这是最后一次浏览器地址栏中的链接。
如何防止浏览器在感谢页面上按下用户返回按钮时再次添加最后一项? PHP中有什么方法可以检测请求是否来自浏览器后退按钮?我认为,有办法使用会话来处理它吗?
如果还有其他合适的方法可以做到这一点,请指导我?谢谢
【问题讨论】:
-
您应该使用 POST 请求在服务器上执行操作,例如将商品添加到购物车。这消除了问题,因为 URL 不会导致进行更改,并在用户尝试重新提交请求时向用户发出警告。 POST/REDIRECT/GET 是执行此操作的方法。
标签: php javascript wordpress