点击“返回”按钮时,IE中的“警告:页面已过期”错误

时间:2010-08-28 10:26:46

标签: php javascript html internet-explorer forms

我有一个分类广告网站,当发布新的分类用户时填写表格。然后他们点击提交按钮,出现一个“验证”页面,显示他们填写的内容,如果看起来不错,则用户点击“确定”按钮并发布分类。

这是一个简短的例子:

  <form action="verify.php" name="main_form" etc

然后从verify.php看,如果分类看起来不错,就会点击OK,然后发布。 但是,在这里,他们可以选择单击“返回”来更改某些内容,这就是我的问题所在。

现在,在main_form的底部,我有文件上传工具,它会刷新每次上传的页面。这就是导致问题的原因。但是,现在将它更改为非刷新文件上传为时已晚(例如ajax)。

无论如何,问题是如果用户上传了一个文件并提交了该页面,则会打开验证页面。因此,从此处后退按钮仅显示“警告:页面已过期”,而不是显示上传图像的表单。

但是,用户可以按F5(刷新)刷新浏览器,表单将再次出现,但这不是一个好的解决方案。

我该如何解决这个问题?

为什么其他浏览器没有这个问题,他们实际上会回来并用图像显示完整的表格?

此外,当然,如果没有上传图片,后退按钮在IE中工作正常。

如果您需要更多输入,请告诉我......

顺便说一句;未在IE8中测试过。

2 个答案:

答案 0 :(得分:4)

请参阅:Chris Shiflett: How to Avoid "Page Has Expired" Warnings

回顾

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

答案 1 :(得分:1)

只是不要使用verify.php,但要在同一页面上完成所有操作 http://en.wikipedia.org/wiki/Post/Redirect/Get

相关问题