因此,我的网站上提交了一个表单,其表单操作与其自身相同。
我希望用户能够刷新页面而不再发送相同的变量。
我以为未设置($ _ POST);会因为某种原因而完成这个目的吗?还有另一种方法可以实现这个目标吗?
答案 0 :(得分:4)
不,未设置($ _ POST)不会帮助你。正在从浏览器请求中填充此数组。
通常的做法(和协议要求)是使用HTTP重定向到某个(通常是相同的)位置。 同一文件中POST表单处理程序的大致轮廓如下:
if ($_SERVER['REQUEST_METHOD']=='POST') {
//write data
Header("Location: ".$_SERVER['PHP_SELF']);
exit;
}
}
答案 1 :(得分:1)
当GET
请求响应时,您可能希望通过向POST
POST
请求发出server-side redirect来解决此问题。这将阻止用户刷新页面并意外重新发送{{1}}请求。