Php 刷新页面时仍保留$var,如何/为什么?

Php 刷新页面时仍保留$var,如何/为什么?,php,variables,post,Php,Variables,Post,我制作了一个非常简单的表单,它向自身发送消息,然后有一个脚本获取$\u POST数据并将其保存到变量中,如下所示 奇怪的是,如果我运行它,然后刷新页面,$posted变量仍然保存数据 <form action="" method="post"> <input type="text" name="data"> <button type="submit">Send Data</button> </form> if (!em

我制作了一个非常简单的表单,它向自身发送消息,然后有一个脚本获取
$\u POST
数据并将其保存到变量中,如下所示

奇怪的是,如果我运行它,然后刷新页面,$posted变量仍然保存数据

<form action="" method="post">
   <input type="text" name="data">
   <button type="submit">Send Data</button>
</form> 


if (!empty($_POST)) {
  $posted = trim($_POST['data']);
}

echo $posted;

发送数据
如果(!空($\u POST)){
$posted=修剪($_POST['data']);
}
回音$posted;

当你重新加载一个页面时,它会再次发送相同的问题,带有相同的帖子数据,因此它会给出相同的答案。

当你重新加载一个页面时,它会再次发送相同的问题,带有相同的帖子数据,因此,它会给出相同的答案。

如果您看到一个已经提交表单数据的页面,然后点击刷新按钮,“大多数”浏览器会告诉您,您将再次提交表单数据。例如,下面是Chrome对话框,它可以执行以下操作:


如果您想在不重新提交表单数据的情况下重新加载页面,我相信您需要单击地址栏并按enter键从头开始重新加载页面(这肯定有效,但可能有更酷/更简单的方法来实现这一点,我不知道).

如果您正在查看已向其提交表单数据的页面,并点击“刷新”按钮,“大多数”浏览器将告诉您将再次提交表单数据。例如,下面是Chrome对话框,它可以执行以下操作:


如果您想在不重新提交表单数据的情况下重新加载页面,我相信您需要单击地址栏并按enter键从头开始重新加载页面(这肯定有效,但可能有更酷/更简单的方法来实现这一点,我不知道)。

您可能每次都在重新提交表单,确保您没有从缓存加载。在Firefox中,您可以使用
CTRL+F5
来执行此操作。您可能每次都要重新提交表单。此外,请确保您不是从缓存加载表单。在Firefox中,您可以使用
CTRL+F5
来执行此操作。如何防止这种情况发生?在处理post数据后执行3xx重定向。不要刷新您的网页。如果在浏览器中单击URL并按ENTER键,则该URL应清除。“刷新”的意思是“我希望你再次获得完全相同的页面”我如何防止这种情况发生?在处理帖子数据后执行3xx重定向。不要刷新你的网页。如果在浏览器中单击URL并按ENTER键,则该URL应清除。“刷新”的意思是“我想让你再次获得完全相同的页面”