"hidden" 键入输入值,未通过 $_POST 正确发送

"hidden" type input value, not being send correctly via $_POST

我想知道为什么我不发送隐藏输入的值?浏览器执行下面的代码后,我居然在value标签中得到了想要的ID——see the image here.

if (mysqli_num_rows($allStreets) > 0) {
  while ($display = mysqli_fetch_assoc($allStreets)){
    echo <<< HEREDOC
    <form action="allHouses.php" method="post">
      <table class='table table-striped'>
        <tr>
          <td align="left">
            {$display["name"]}
          </td>
          <td align="right">
            <input type="submit" class="btn btn-success" name="street" value="Go to all houses on this street">
            <input type="hidden" name="id" value"{$display['id']}">
          </td>
        </tr>
      </table>
    </form>
HEREDOC;
  }
} else {
  echo "No streets found";
}

然后我有一个 php 代码执行以下操作:

if (isset($_POST['id'])) {
  echo var_dump($_POST['id']);
  echo "set";
} else {
  echo "not set";
}

var_dump() 的输出是: 字符串(0)“”设置。不是我期望的 2。
我的问题是为什么它没有持有身份证?这怎么能解决?谢谢!

您缺少 = 个值。

改变这个

value"{$display['id']}"

用这个:

value="{$display['id']}"