点击“返回”按钮时,IE浏览器显示“警告:页面已过期”错误

4
我有一个分类广告网站,用户发布新广告时需要填写表单。然后他们点击提交按钮,将显示一个“验证”页面,展示他们填写的内容,如果一切正常,用户会点击“确认”按钮,广告就会发布。以下是一个简短的示例:
  <form action="verify.php" name="main_form" etc

然后在verify.php页面,如果分类看起来不错,他们点击“OK”,就可以发布了。然而,在这里,他们有更改内容的选项,这就是我的问题所在。
现在,在main_form底部,我有一个文件上传工具,每次上传都会刷新页面。这就是问题所在。但是,现在改成非刷新式的文件上传(例如ajax)为时已晚。
无论如何,问题在于,如果用户上传了文件并提交页面,则会打开验证页面。因此,从这里返回按钮只会显示“警告:页面已过期”,而不是显示带有上传图片的表单。
然而,用户可以按F5(刷新)来刷新浏览器,表单将再次出现,就像它原来一样,但这并不是好的解决方案。
我该如何解决这个问题?
其他浏览器为什么没有这个问题,它们实际上可以返回并显示带有图片的完整表单?
当然,如果没有上传图片,IE中的返回按钮就能正常工作。
如果需要更多信息,请让我知道...
顺便说一句;尚未在IE8中测试。

请展示一些文件上传器的代码。 - Pekka
2个回答

4

参见:Chris Shiflett: 如何避免"网页已过期"警告

总结

为避免"网页已过期"警告,将session.cache_limiter设置为private,并确保使用POST方法提交的任何表单都将提交到一个中间处理页面,该页面将用户重定向到不同的URL。


1

即使在同一页上,这样做也会显示警告,对吧?我的意思是,页面仍然会被提交给自己,返回时可能会再次显示警告消息... - user188962
@Camran 如果你在成功提交后执行重定向(正如你应该做的),则不会发生这种情况。 - Your Common Sense

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接