Php HTML表单在一个输入值上重定向,并处理其他输入值

Php HTML表单在一个输入值上重定向,并处理其他输入值,php,html,forms,post,Php,Html,Forms,Post,坚持使用POST方法实现标准HTML表单 我有一个简单的HTML/PHP表单(比如)和4个不同的字段: <form method="post" action="<what-to-put-here>.php" target="_top"> <input type="text" name="name" placeholder="Name..." value="Input Name" required> <span>Code:</spa

坚持使用POST方法实现标准HTML表单

我有一个简单的HTML/PHP表单(比如)和4个不同的字段:

<form method="post" action="<what-to-put-here>.php" target="_top">

  <input type="text" name="name" placeholder="Name..." value="Input Name" required>

  <span>Code:</span><select name="code" required><option value="" disabled selected>Choose Code</option><option value='AAA'>AAA</option><br><option value='BBB'>BBB</option><br><option value='CCC'>CCC</option><br><option value='DDD'>DDD</option></select>

  <span>Start Date:</span><select name="startdt" required><option value='2019-11-29'>Fri, 29Nov19</option><br><option value='2019-11-27'>Wed, 27Nov19</option><br><option value='2019-11-26'>Tue, 26Nov19</option><br><option value='2019-11-25'>Mon, 25Nov19</option><br><option value='2019-11-22'>Fri, 22Nov19</option><br></select>

  <span>End Date:</span><select name="enddt" required><option value='2019-11-29'>Fri, 29Nov19</option><br><option value='2019-11-27'>Wed, 27Nov19</option><br><option value='2019-11-26'>Tue, 26Nov19</option><br><option value='2019-11-25'>Mon, 25Nov19</option><br><option value='2019-11-22'>Fri, 22Nov19</option><br></select>

  <input type="submit" value="Submit">

</form>

代码:选择代码AAA
BBB
CCC
DDD 开始日期:1919年11月29日星期五、1919年11月27日星期二、1919年11月26日星期一、1919年11月25日星期五、1919年11月22日 结束日期:1919年11月29日星期五、1919年11月27日星期三、1919年11月26日星期二、1919年11月25日星期五、1919年11月22日
有两个要求:

1) 所有4个字段都是必填字段。一旦用户填写/选择值并点击“提交”按钮,需要从提交的表单中接收“代码”的值,然后根据为“代码”字段选择的值,它应该重定向到
https://example.com/dir/
.php
URL

2) 用户提交的其余三个值(name、startdt和enddt)也应该在重定向的URL中接收(比如在PHP变量中,
$start\u date=$\u POST[“startdt”]

为了清楚地举一个例子,假设用户在开机时提交值,并选择/输入值(name=“Michael”,code=“DDD”,startdt='2019-11-29',enddt='2019-12-01')。然后点击提交按钮,他将被带到页面(因为他已经提交了DDD代码),在该页面中,其他三个值(name=“Michael”、startdt='2019-11-29',enddt='2019-12-01')也可以在PHP变量中捕获


我尝试过使用中间文件,以及使用onchange位置特性,但无法达到预期的效果。任何帮助都将不胜感激。

要在提交表单之前更改表单的目的地,您需要使用JS。 从这个表单开始,使用jquery的基本解决方案是:

$('code#u开关')。更改(函数(){
page=$(this.val();
page=page+'.php';
$('form#u target').attr('action',page);
控制台日志(第页);
});

代码:选择代码AAA
BBB
CCC
DDD 开始日期:1919年11月29日星期五、1919年11月27日星期二、1919年11月26日星期一、1919年11月25日星期五、1919年11月22日 结束日期:1919年11月29日星期五、1919年11月27日星期三、1919年11月26日星期二、1919年11月25日星期五、1919年11月22日
这是使用JS时应该做的事情。在更改代码输入时,您更改了第2部分的Tag表单中的操作,我建议您在第1部分中使用Sessions,在没有看到后端的情况下很难判断出问题所在code@Cid,第一部分是重定向。当我使用onchange location函数自动重定向到新的URL时,页面移动时无法捕获其余3个值。这就是为什么我在寻找一种满足这两个要求的总体方法。我还考虑将代码作为最后一个字段,以便更早地捕获其他三个值,但我需要将“代码”作为第二个字段。您可以使用$\u会话在重定向之前存储值,并在下一个脚本中获取它们。非常好用!非常感谢@LelioFaieta,用+1标记答案。但对于我在测试上述内容时发现的其他页面,有一点值得注意:重定向到的页面必须存在,并且其名称必须与选项值中的名称完全相同(区分大小写)。选项值不能为AAA,页面名称不能为AAA.php,否则将不会捕获其他字段值。