为什么输入需要两次更新?
Why input takes two times to update?
我创建了一个页面,用户可以在其中根据两个日期(例如 01/01/2019 和 04/04/2019)获取一些信息。用户选择两个日期,这些日期将发送到我的 sql 查询。
我的问题是我需要按两次提交按钮才能更新日期。
据我所知,代码正在获取上一次提交的日期,而不是当前提交的日期。例如,如果我将其中一个日期从 01/01/2019 更改为 01/02/2019,它仍会显示以 01/01/2019 作为日期的信息。我知道是因为我在代码上添加了一些回声,我可以看到它得到了以前的值。
我已经尝试了 in php, why input form when submit it takes 2 times pressed 的解决方案,但没有任何效果。
这是用户输入日期的代码:
<form action="code.php?titulo=Entrada_De_Soja_por_Variedade&codpag=soja&ini=<?php echo $ini ;?>&fin=<?php echo $fin ;?>" method="post">
<input name="ini" id="ini" type="date" value = "<?php echo $ini2 ?>" placeholder="<?php echo $ini ?>" >
<input name="fin" id="fin" type="date" value = "<?php echo $fin2 ?>" placeholder="<?php echo $fin ?>">
<input style="width: 120px; height: 30px; font-size:14px;" type="submit" value="Search" />
</form>
$ini 是初始日期,$fin 是最终日期。
在同一个 code.php 上,我使用:
$ini = $_POST['ini'];
$fin = $_POST['fin'];
在 sql 查询中,我使用:
$ini = $_GET['ini'];
$fin = $_GET['fin'];
我需要知道我对 $_POST 和 $_GET 使用的策略是否正确以及是否有解决此问题的方法。
在此先致谢,如有需要,请随时询问更多详情。
您不能通过 "POST" 传递变量并通过 "GET" 接收变量。
此外,您不需要将变量放入操作 URL 中,因为它们会在使用方法 "GET".
时自动附加
如果您希望 URL 中的日期可见(以共享 link),您可以在表单页面上使用它:
<form action="code.php" method="get">
<input name="ini" id="ini" type="date" value="<?php echo $_GET['ini']; ?>" placeholder="<?php echo $ini; ?>" >
<input name="fin" id="fin" type="date" value="<?php echo $_GET['fin']; ?>" placeholder="<?php echo $fin; ?>">
<input style="width: 120px; height: 30px; font-size:14px;" type="submit" value="Search" />
有关 "GET" 和 "POST" 工作原理的更多信息,请查看:
我创建了一个页面,用户可以在其中根据两个日期(例如 01/01/2019 和 04/04/2019)获取一些信息。用户选择两个日期,这些日期将发送到我的 sql 查询。
我的问题是我需要按两次提交按钮才能更新日期。
据我所知,代码正在获取上一次提交的日期,而不是当前提交的日期。例如,如果我将其中一个日期从 01/01/2019 更改为 01/02/2019,它仍会显示以 01/01/2019 作为日期的信息。我知道是因为我在代码上添加了一些回声,我可以看到它得到了以前的值。
我已经尝试了 in php, why input form when submit it takes 2 times pressed 的解决方案,但没有任何效果。
这是用户输入日期的代码:
<form action="code.php?titulo=Entrada_De_Soja_por_Variedade&codpag=soja&ini=<?php echo $ini ;?>&fin=<?php echo $fin ;?>" method="post">
<input name="ini" id="ini" type="date" value = "<?php echo $ini2 ?>" placeholder="<?php echo $ini ?>" >
<input name="fin" id="fin" type="date" value = "<?php echo $fin2 ?>" placeholder="<?php echo $fin ?>">
<input style="width: 120px; height: 30px; font-size:14px;" type="submit" value="Search" />
</form>
$ini 是初始日期,$fin 是最终日期。
在同一个 code.php 上,我使用:
$ini = $_POST['ini'];
$fin = $_POST['fin'];
在 sql 查询中,我使用:
$ini = $_GET['ini'];
$fin = $_GET['fin'];
我需要知道我对 $_POST 和 $_GET 使用的策略是否正确以及是否有解决此问题的方法。
在此先致谢,如有需要,请随时询问更多详情。
您不能通过 "POST" 传递变量并通过 "GET" 接收变量。
此外,您不需要将变量放入操作 URL 中,因为它们会在使用方法 "GET".
时自动附加如果您希望 URL 中的日期可见(以共享 link),您可以在表单页面上使用它:
<form action="code.php" method="get">
<input name="ini" id="ini" type="date" value="<?php echo $_GET['ini']; ?>" placeholder="<?php echo $ini; ?>" >
<input name="fin" id="fin" type="date" value="<?php echo $_GET['fin']; ?>" placeholder="<?php echo $fin; ?>">
<input style="width: 120px; height: 30px; font-size:14px;" type="submit" value="Search" />
有关 "GET" 和 "POST" 工作原理的更多信息,请查看: