Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Por que inserir a tag <input>

Boa noite meus amigos, tudo bem? To com uma dúvida sobre o código abaixo. Não entendi pq tenho que usar a tag abaixo do formulário. Alguem pode me explicar? Isso se deu devido a alteração do método de GET para o POST.

<table class="table table-striped table-bordered">

    <?php
        $produtos = listaProdutos($conexao);
        foreach($produtos as $produto) :
    ?>
    <tr>
        <td><?= $produto['nome'] ?></td>
        <td><?= $produto['preco'] ?></td>
        <td><?= substr($produto['descricao'], 0, 40)?></td>
        <td>
            <form action="remove-produto.php" method="post">
                <input type="hidden" name="id" value="<?=$produto['id']?>">
                <button class="btn btn-danger">remover</button>
            </form>
        </td>
    </tr>
    <?php
        endforeach
    ?>
</table>
3 respostas

Oi Kaique,

Isso porque vc vai precisar do id do produto para saber qual produto remover do banco de dados, então vc está passando essa informação po input, mas com ele hidden para que ele não apareça na tela

solução!

Olá Kaique, É necessário usar o input com o hidden, pois quando você enviar a requisição do POST, o "form" vai enviar um objeto com os dados dos inputs para o action, para executar o método re remover Produto é necessário passar o id do produto. Como o form somente entende os valores passados nos inputs, foi preciso colocar-lo para montagem do objeto. Usamos o type "hidden" pois essa informação somente precisa ser conhecida pelo form, não sendo necessário o usuário visualiza-la ou altera-la.

Muito obrigado amigos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software