Eu tenho um formulário como o abaixo que é postado em contacts.php, e o usuário pode adicionar dinamicamente mais com jquery.
<input type="text" name="name[]" />
<input type="text" name="email[]" />
<input type="text" name="name[]" />
<input type="text" name="email[]" />
<input type="text" name="name[]" />
<input type="text" name="email[]" />
Se eu ecoá-los em php com o código abaixo
$name = $_POST['name'];
$email = $_POST['account'];
foreach( $name as $v ) {
print $v;
}
foreach( $email as $v ) {
print $v;
}
Vou pegar algo assim:
name1name2name3email1email2email3
como posso colocar esses arrays em algo como o código abaixo
function show_Names($n, $m)
{
return("The name is $n and email is $m, thank you");
}
$a = array("name1", "name2", "name3");
$b = array("email1", "email2", "email3");
$c = array_map("show_Names", $a, $b);
print_r($c);
então minha saída é assim:
O nome é nome1 e o email é email1 , obrigado
O nome é nome2 e o email é email2 , obrigado
O nome é nome3 e o email é email3 , obrigado
obrigado por qualquer ajuda ou conselho
$emails[1]
corresponde ao usuário nomeado$name[1]
? Acho que tive problemas com isso no passado, mas posso estar errado. ObrigadoPor exemplo, nomeando os campos como
(o que também é possível ao adicionar elementos via javascript)
O script php correspondente pode parecer
fonte
Eu sei que é um pouco tarde agora, mas você poderia fazer algo como isto:
O teste com:
Isso para mim produziu:
fonte
E se você tiver um array de conjuntos de campos?
Eu adicionei um campo oculto para contar o número de conjuntos de campos. O usuário pode adicionar ou excluir os campos e salvá-los.
fonte
Também me deparei com esse problema. Dados 3 entradas: campo [], campo2 [], campo3 []
Você pode acessar cada um desses campos dinamicamente. Como cada campo será um array, todos os campos relacionados compartilharão a mesma chave de array. Por exemplo, dados de entrada dados:
Bob e seu e-mail e sexo compartilharão a mesma chave. Com isso em mente, você pode acessar os dados em um loop for assim:
Isso também muda. Tudo que você precisa fazer é adicionar seus respectivos vars de array sempre que precisar que novos campos sejam adicionados.
fonte
No entanto, a solução de VolkerK é a melhor para evitar falhas entre e-mail e nome de usuário. Portanto, você deve gerar código HTML com PHP como este:
Altere $ total_data para atender às suas necessidades. Para mostrar, assim:
Supondo que os dados foram enviados usando o método POST.
fonte
No entanto, você pode usar o código abaixo como,
fonte
Este é fácil:
fonte
Usar este método deve funcionar:
fonte