É possível obter várias entradas com o mesmo nome para postar e acessá-las a partir do PHP? A ideia é a seguinte: tenho um formulário que permite a entrada de um número indefinido de endereços físicos junto com outras informações. Se eu simplesmente der a cada um desses campos o mesmo nome em várias entradas e enviar esses dados por postagem, o PHP poderá acessá-los?
Digamos, por exemplo, que tenho cinco entradas em uma página chamada "xyz" e desejo acessá-las usando PHP. Eu poderia fazer algo como:
$_POST['xyz'][0]
Nesse caso, isso tornaria minha vida dez vezes mais fácil, pois eu poderia enviar uma quantidade indefinida de informações por meio de um formulário e processá-la pelo servidor simplesmente percorrendo a matriz de itens com o nome "xyz".
address[0][street]
address[0][city]
address[0][zip]
,address[1][street]
address[1][city]
address[1][zip]
... Você pode ler isso com$_POST['address'][0]['city']
, por exemplo[]
, como[0]
. Isso torna o HTML mais difícil de gerar, mas os dados não são mais difíceis de ler no lado do PHPEm seu html você pode passar um array para o nome, ou seja
Desta forma, o php receberá uma série de endereços.
fonte
A resposta de Eric está correta, mas o problema é que os campos não estão agrupados. Imagine que você tem várias ruas e cidades que pertencem uma à outra:
O resultado seria
Para agrupá-los por endereço, prefiro recomendar usar o que Eric também mencionou na seção de comentários:
O resultado seria
fonte
Para qualquer outra pessoa que encontrar isso - é importante notar que você pode definir o valor da chave no nome da entrada. Graças à resposta em POSTAR campos de formulário com o mesmo atributo de nome, você também pode interagir com strings ou inteiros sem aspas.
As respostas assumem que você não se importa com o valor da chave voltando para o PHP, entretanto, você pode definir
name=[yourval]
(string ou int), o que permite que você consulte um registro existente.fonte
Pode ser:
fonte