Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Php返回上一页表单重新提交_Javascript_Php_Forms - Fatal编程技术网

Javascript Php返回上一页表单重新提交

Javascript Php返回上一页表单重新提交,javascript,php,forms,Javascript,Php,Forms,我有以下三个php文件: reports.php、bwdates-reports-details.php和visitor-detail.php reports.php包含我的表单,用于输入起始日期和截止日期(为了简洁起见,删除了一些部分): ... ... 提交 bwdates-reports-details.php输出reports.php的“fromdate”和“todate”中输入的任何参数,请参见下图 如图所示,您可以通过单击“查看详细信息”图标-i class=“fa编辑fa-1

我有以下三个php文件: reports.php、bwdates-reports-details.php和visitor-detail.php

reports.php包含我的表单,用于输入起始日期和截止日期(为了简洁起见,删除了一些部分):


...
...
提交

bwdates-reports-details.php输出reports.php的“fromdate”和“todate”中输入的任何参数,请参见下图

如图所示,您可以通过单击“查看详细信息”图标-i class=“fa编辑fa-1x”来查看交易的详细信息

在ViewDetails(visitorDetail.php)中,有一个“返回”按钮


回去
还有一个goBack javascript函数:

<script>
function goBack() {
window.history.back();
}
</script>

函数goBack(){
window.history.back();
}
但是,当单击“返回”按钮时,我得到了“确认表单重新提交”错误。我想通过“返回”按钮实现的是能够返回到bwdates-reports-details.php,其中包含我在reports.php中传递的所有变量。我如何实现我想做的事?请注意,这不是一个与购买相关的网站。php或javascript就可以了。谢谢

如果提交了表单(可能使用POST方法),则将此数据发送到随后打开的新页面。此页面还添加到历史记录中,不仅包含URL,还包含发送的数据

如果您随后离开此页面并希望导航回上一页,则会出现“重新提交”错误,因为浏览器需要再次发送数据才能执行此操作,但这可能是一件坏事,因为表单的数据将发送两次。(假设这是一张购买表单,客户会再次购买所有东西。)

要使goBack功能正常工作,除了以某种方式摆脱表单提交页面或在表单提交页面之间放置一个非表单数据接收器的页面外,没有其他方法。
最好的方法是,如果您不知道用户从哪些页面导航到此页面,则不要返回浏览器历史记录。相反,只需导航到概览或仪表板

编辑:
如果您所处理的页面只能由表单的响应页面访问,那么返回两页可能会修复您的错误:
history.back(2)

因为您的表单使用的是POST方法,当您单击goBack按钮时,它将进入上一页,而不带变量。您可以将put dates变量与goBack按钮一起使用,也可以使用

if(isset($_GET['your variable name'];
{`fetch your variables`}

在上一页

使用GET方法而不是POST方法获得了预期的结果(请参阅)。reports.php表单代码已从以下位置替换:

致:

在bwdates-reports-details.php中,我有以下变量:

$fdate=$_POST['fromdate'];
$tdate=$_POST['todate'];
相反,我将其替换为:

$fdate=$_GET['fromdate'];
$tdate=$_GET['todate'];

我在visitor-detail.php中使用的goback javascript函数保持不变。而且很有魅力。谢谢,干杯

谢谢!我忘了提到这些页面与购买无关。我在我的帖子中指出了这一点。不仅仅如此。由于以下几个原因,浏览器通常禁止使用它。您不能关闭错误并强制浏览器通过JavaScript加载页面。@schnydszch我已对我的答案进行了编辑;请看一看。嗨!我仍然收到window.history.back(2)的确认表单重新提交错误;谢谢感谢Niklas E.和Imran让我意识到我无法通过POST方法实现这一点。我们可以用GET方法实现这一点。回顾阅读本教程:,通过您的评论,我使用GET而不是POST。
$fdate=$_POST['fromdate'];
$tdate=$_POST['todate'];
$fdate=$_GET['fromdate'];
$tdate=$_GET['todate'];