在我的PHP项目中,我有六页的注册表格。
在任何页面之间,如果我从资源管理器栏中按后退按钮,就会得到错误:
网页已过期
我正在使用$_POST提交数据。我不明白为什么会发生这种事?
发布于 2010-01-01 03:00:44
该消息与IE处理从POST数据生成的页面的方式有关。
通常,为了避免这个问题,您必须确保在后台历史记录中,用户永远无法登陆从POST请求生成的页面。正如jspcal所建议的,您的POST响应应该是重定向到GET请求的另一个页面。这也被认为是最佳做法,因为它减少了提交两次表单的风险。
发布于 2010-01-01 03:02:45
在收到帖子后重定向页面:
$name = $_POST['name'];
...
header('Location: next.php');发布于 2010-01-01 03:01:21
当您试图通过返回浏览器历史来重新提交post数据时,这种情况总是发生在某些浏览器上(您可能正在使用)。不过,许多浏览器(例如Firefox)让您有机会在返回历史时再次提交post数据。
https://stackoverflow.com/questions/1987765
复制相似问题