使用META REFRESH时防止重新提交

时间:2012-09-04 15:07:08

标签: php redirect refresh

当用户提交表单并且一切正常时,他将获得一条成功消息,其META REFRESH为3秒。然后页面刷新,但是当我单击刷新按钮或F5时,页面会询问我是否要重新提交,这意味着META REFRESH实际上没有重定向并清除所有内容。

使用META REFRESH时,有没有办法阻止数据重新提交?

我可以使用header('Location: somewhere.php');,但我无法用它显示成功消息。

我正在使用带有PHP标头的META REFRESH,例如header("refresh:3;url=" . $home_action);

1 个答案:

答案 0 :(得分:0)

您应该使用header('location: somewhere.php?message=success')并在页面somewhere.php上检查是否存在message获取变量,如果您看到变量,则输出成功消息。

这是通常完成的方式。另一种方法是设置$_SESSION变量并在somewhere.php上检查该变量。如果存在,请记住将其从会话中删除。