首页 > 解决方案 > 如何在 url 中放置变量并使用 php header 提交表单

问题描述

我正在尝试在 url 中放置一个变量并自动提交表单

我正在做一个 mysql 选择,并根据我需要做的结果,如上所述。

PHP

<?php
$stmt = $conn->prepare("SELECT prime_ID,
                        FROM School 
                        WHERE Date = (CURDATE() - INTERVAL 2 DAY)");

$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $SchoolId = $row["prime_ID"];


  header("Location:../SchoolList.php?school=" . $SchoolId . "&Submit=Submit");

}
?>

SchoolList.php 的 HTML

 $shoolid = $_GET['school'];
 <form method="POST" action="test.php">
        <input type="text" name="school" id="school" value="<?php echo $shoolid ?>">
        <br>
        <input type="Submit" name="Submit" id="Submit" value="Submit">
 </form>

作品,SELECT但表格不提交。该变量在下一页中也可见。虽然表单重定向到SchoolList.php,但 URL 看起来像这样SchoolList.php?school=45&Submit=Submit

为什么不提交SchoolList.php

标签: php

解决方案


您可以将 js 与 php 一起使用。将该代码块添加到正文的末尾。

<?php
    if (isset($_GET['Submit']))
{?>

<script type="text/javascript">
    document.getElementById('formId').submit();
</script>

<?php } ?>

和您的表单(添加到表单的 ID):

<form method="POST" id="formId" action="test.php">
        <input type="text" name="school" id="school" value="<?php echo $shoolid ?>">
        <br>
        <input type="Submit" name="Submit" id="Submit" value="Submit">
 </form>

推荐阅读