Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas sobre buscar valor com POST no php

O problema é simples. Explicar o problema que vai ser dificil, mas vou tentar assim mesmo.

Eu tenho uma tela de pedido e nessa tela tenho as informações do pedido e os itens do pedido. Mas a lista de itens do pedido mostro através de uma consulta. E os itens do pedido tem um número de sequencia.

Então ao mostrar os itens dentro do pedido, na frente mostro um botão para editar.

Vamos supor o seguinte pedido:

Pedido: 1
Cliente: José
-------------------------------------------------
Sequencia 1 - Produto - |EDITAR|
Sequencia 2 - Produto - |EDITAR|
Sequencia 3 - Produto - |EDITAR|
Sequencia 4 - Produto - |EDITAR|

Se eu usar o GET eu consigo pegar corretamente a sequencia

<a href="editar-produto.php?sequencia=<?=$produtoPedido['sequencia'];?>">|EDITAR|</a>

Funciona. Mas não queria fazer através do GET e sim do POST para que o usuário não tenha acesso. Mas não funciona.

Já tentei colocar um input="hidden" com o value da sequencia em cada registro gerado e não dá certo pois, não importa o produto que eu tente editar, ele sempre me trás a última sequencia. No exemplo acima, se tento editar qualquer sequencia de produto ele sempre me trás a sequência 4. Por GET funciona mas por POST não consegui entender porque ele está fazendo isso. Alguém sabe se existe motivo específico pra ele fazer isso?

1 resposta
solução!

Você teria que fazer um formulário para cada linha de sua lista.

Tente fazer desta forma:

<table>
<?
while($produtoPedido = odbc_fetch_array($meusDados)){
?>
<tr>
    <td><?=$produtoPedido['sequencia'];?></td>
    <td><?=$produtoPedido['produto'];?></td>
    <td> 
        <form method="POST" action="editar-produto.php">
            <input type="hidden" name="sequencia" value="<?=$produtoPedido['sequencia'];?>">
            <input type="submit" value="|EDITAR|">
        </form>
    </td>
</tr>
<?
}
?>
</table>