Me preguntaba por qué no envío el valor de la entrada oculta. Después de que el navegador ejecuta el siguiente código, en realidad obtengo el ID deseado en la etiqueta de valor; vea la imagen aquí.
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"; }Y luego tengo un código php que hace lo siguiente:
if (isset($_POST['id'])) { echo var_dump($_POST['id']); echo "set"; } else { echo "not set"; } Y la salida de var_dump() es: string(0) "" set . No 2 como esperaba.
Mi pregunta es ¿por qué no tiene la identificación? ¿Y cómo se podría arreglar esto? ¡Gracias!
Te estás perdiendo = en valor.
cambia esto
value"{$display['id']}"con este:
value="{$display['id']}"