Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho um formulário que é gerado automaticamente conforme o número de campos que o usuário necessita:
cor_1 tamanho_1 peso_1
cor_2 tamanho_2 peso_2
cor_3 tamanho_3 peso_3
cor_4 tamanho_4 peso_4
cor_5 tamanho_5 peso_5
e assim por diante,
esse formulário poderá ter várias linhas, porém minha dúvida é de como escrever esses valores na próxima página onde faço o tratamento das variáveis, já que eu não sei o número exato que pode haver de campos.
não entendi o seu exemplo, não consegui fazer funcionar
Você pode utilizar array() neste caso.
Em vez de trabalhar com variaveis fixas, como está fazendo agora, trabalhe com array.
No HTML vai ser o seguinte:
Trocar o valor dos atributos name="" por algo assim: name="cor[]", name="tamanho[]", peso="peso[]".
Dessa maneira, quando o formulário for submetido, o PHP irá receber 3 variáveis: $_POST['cor'], $_POST['tamanho'], $_POST['peso']. E cada uma dessas variaveis será um array cujo seus elementos serão os inputs do form.
No PHP, basta iterar esses arrays com um for() por exemplo:
<?php
$size = count( $_POST['cor'] );
for( $i = 0; $i < $size; ++$i ) {
echo 'Cor: ' . $_POST['cor'][$i] . '. Tamanho: ' . $_POST['peso'][$i] . '. Peso: ' . $_POST['peso'][$i];
echo '<br />' . PHP_EOL;
}
?>resolvido
blza, era isso mesmo que precisava, muito obrigado a todos.
então voce teria 3 campos que poderiam se repetir, é isso?
exemplo de pegar variaveis seria:
$_POST['cor_1']; $_POST['tamanho_1']; $_POST['peso_1'];seria isso se fosse um de cada, correto?
Então eu criaria os nomes dos campos do form assim:
1_cor 1_tamanho 1_peso
2_cor 2_tamanho 2_peso
3_cor 3_tamanho 3_peso
quando você fosse pegar os valores faria isso:
//guarda a quantidade de campos que receberam valores
se você precisasse de 4 tipos de campos por exemplo, basta adicionar ele na comparação de chave para receber valores.
Sendo assim, o setado seria == 4 e assim por diante.