我有两个文件。
这样的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");
}
?>
我的问题是,如何在无需用户进一步交互的情况下提交此新表单?我希望页面能够尽快自动提交表单。最好不要加载或显示任何内容。
您不需要表格或为此提交,您可以通过发送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");
}
?>
希望这会有所帮助,最好的问候