当用户提交表单并且一切正常时,他将收到一条成功消息,其中META REFRESH为3秒。然后页面会刷新,但当我单击刷新按钮或F5时,页面会询问我是否要重新提交,这意味着META refresh实际上并没有重定向和清除所有内容。
在使用META REFRESH时,是否有方法防止数据重新提交?
我本可以使用header('Location: somewhere.php');
,但我无法用它显示成功消息。
我将META REFRESH与PHP头一起使用,如header("refresh:3;url=" . $home_action);
您应该使用header('location: somewhere.php?message=success')
,在页面somewhere.php
上,您可以检查message
get变量的存在,如果您看到成功消息,则输出成功消息。
这是通常的做法。另一种方法是设置$_SESSION
变量并在somewhere.php
上检查该变量。如果它存在,请记住将其从会话中删除。