仅使用PHP使用以前填写的HTML表单再次提交具有相同值的相同表单吗?

问题描述 投票:1回答:1

我有两个文件。

这样的HTML形式:

<form action="resubmitWithPHP.php" method="POST">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" name=submitButton value="Submit">
</form>

用户输入他们的详细信息,然后单击提交后,将转移到'resubmitWithPHP.php'

此脚本正在等待的位置:

<?php 
if(isset($_POST['submitButton']))
{
    $firstName = $_POST['fname'];
    $lastName = $_POST['lname'];
?>
      <form action="otherPage.php" method="POST">
      <label for="fname">First name:</label>
      <input type="hidden" id="fname" name="fname" value="<?php echo $firstName; ?>"><br><br>
      <label for="lname">Last name:</label>
      <input type="hidden" id="lname" name="lname" value="<?php echo $lastName; ?>"><br><br>
      <input type="submit" name=submitButton value="Submit">
    </form>
    <?php
}
else
{
    header("Location: ../goBack.php?sent=nope");
}
?>

我的问题是,如何在无需用户进一步交互的情况下提交此新表单?我希望页面能够尽快自动提交表单。最好不要加载或显示任何内容。

php html forms submit form-submit
1个回答
0
投票

您不需要表格或为此提交,您可以通过发送POST请求来使用php来完成此操作。看一下这个:How do I send a POST request with PHP?,通过dbau回答

所以您想要的可能是这样的。

<?php 
if(isset($_POST['submitButton']))
{
    $firstName = $_POST['fname'];
    $lastName = $_POST['lname'];

    $url = "http://localhost/otherPage.php";
    $data = ['fname' => $firstName, 'lname' => $lastName];
    $options = array(
        'http' => array(
            'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
            'method'  => 'POST',
            'content' => http_build_query($data)
        )
    );
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);


}
else
{
    header("Location: ../goBack.php?sent=nope");
}
?>

希望这会有所帮助,最好的问候

© www.soinside.com 2019 - 2024. All rights reserved.