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

Passar o valor do id no button ao invés de usar o input

Olá, eu, ao invés de usar o input escondido, no automatico acabei colocando o valor no botao e queria saber se posso fazer isso ou é errado.

Código proposto:

    <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>

Código que fiz:

    <td><?= $produto['nome'] ?></td>
    <td><?= $produto['preco'] ?></td>
    <td><?= substr($produto['descricao'], 0, 40) ?></td>
    <td>
        <form action="remove-produto.php" method="post">
            <button name="id" value="<?=$produto['id']?>" class="btn btn-danger">remover</button>
        </form>
    </td>
</tr>
4 respostas
solução!

Oi Nicollas, tudo bom?

Não sou nenhum especialista em semântica de tags HTML mas, a tag button tem suporte ao name e ao value segundo a documentação da mozilla:

https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/button

Então, no contexto do curso, se o comportamento foi o mesmo de usar o input, não vejo problema algum =)

Abraço!

Olá André, tudo sim e você?

Assim, eu estava mais em dúvida na parte de segurança, só que agora também veio a de semantica, quanto aos atributos eu já tinha ideia que existiam, mas obrigado por me ajudar.

Acredito que em termos de segurança não tenha muita diferença já que de qualquer forma o formulário será enviado no corpo da requisição http. Não mudaria nada nesse sentido, apenas a semântica do html mesmo =)

Entendi! Muito obrigado.