单击“后退”按钮时清除会话

时间:2013-12-10 12:47:05

标签: php

大家好,我点击

后如何重置会话
input type='button' value='Back' onclick='window.history.back(-1);'  

它保留过去存储的值。案例是一个购物车。提前致谢

3 个答案:

答案 0 :(得分:0)

这似乎设计得不是很好。 但如果你真的想要这个,你可以在你的按钮所在的页面上调用session_destroy。

答案 1 :(得分:0)

我认为当你按下浏览器(或者在onclick中执行JS代码,效果是相同的)时,浏览器将不会命中你的服务器(因此不会破坏会话)但是拉动它的缓存页面...我发现它甚至发生在最专业的网店上。

修复是不使用JS代码“window.history.back(-1);”,但是仍然使它成为与购物车的href的链接。 (或onclick="window.location.href = 'shoppingcart.php'")。修复此按钮。

您还可以通过在购物车之后销毁页面上的服务器会话来防止使用浏览器后退按钮。如果用户按下浏览器(从具有旧购物车数据的缓存加载页面)并再次提交,则服务器可以看到上一个会话被销毁并重定向回到空的购物车,并显示消息“您的会话已重置“...

这样的事情似乎是常态

答案 2 :(得分:0)

在每个页面的顶部,您可以检查会话数据是否已存在并使用session_destroy()

销毁会话
if (isset($_SESSION)) {
 session_destroy();
 }