Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Declara com javascript o name algo do tipo "campo3","campo4"...
Faz com que não possa deixar os campos criados em branco para prosseguir...
depois verifica se $campo2 == '', se sim quer dizer que só teve um campo criado...
Acho que resolve
entendi mas, nao da problema quando for pegar os dados dos campos..?
tipo:
$campo1 = $_POST['campo1'];
$campo2 = $_POST['campo2'];
$campo3 = $_POST['campo3'];
if(!$campo1 == "" AND $campo2 == "" AND $campo3 == ""){
}
é assim que voce disse ?
mas no caso, se eu so escolher o campo1 ele nao vai dar erro na hora do POST nos campos 1 e 2?
Que eu saiba a váriavel vai ficar só vazia mais nada...
mas acho que também tem um jeito de descobrir a se a variavel já foi espeficada... se eu achar posto...
Verificando se uma variável possui um valor
Existem dois tipos de teste que podem ser feitos para verificar se uma variável está setada: com a função isset e com a função empty.
A função isset
Possui o seguinte protótipo:
int isset(mixed var);
E retorna true se a variável estiver setada (ainda que com uma string vazia ou o valor zero), e false em caso contrário.
A função empty
Possui a seguinte assinatura:
int empty(mixed var);
E retorna true se a variável não contiver um valor (não estiver setada) ou possuir valor 0 (zero) ou uma string vazia. Caso contrário, retorna false.
O melhor é passar os dados como se estivessem em array. Por exemplo:
<input type="checkbox" name="opcoes[]" value="1" />
<input type="checkbox" name="opcoes[]" value="2" />
<input type="checkbox" name="opcoes[]" value="3" />
Assim, $_POST['opcoes'] será um array. Aí basta um foreach para percorrer as opções:
foreach( $_POST['opcoes'] as $opcao )
{
echo $opcao . "<br />";
}a mesma solução é possivel com um for por exemplo e usando variaveis...
Não fica no visual mais bonito mas...
$a = b;
$$a = c;
//$b = c;>
O melhor é passar os dados como se estivessem em array. Por exemplo:
<input type="checkbox" name="opcoes[]" value="1" />
<input type="checkbox" name="opcoes[]" value="2" />
<input type="checkbox" name="opcoes[]" value="3" />
Assim, $_POST['opcoes'] será um array. Aí basta um foreach para percorrer as opções:
foreach( $_POST['opcoes'] as $opcao )
{
echo $opcao . "<br />";
}
Eu acho que voce nao entendeu direito,
digamos que eu escolha lá tres campos, e digite neles. texto1, texto2 e texto3
entao como eu vou exibir os tres dados diferentes em uma única variável "$opcao" ??
usando uma varivel "dentro" da outra como demonstrei ($$a...)
tu pode usando um loop
com o conteudo:
$texto$a
...
$a = 1;
$texto$a //$texto1
>
Eu acho que voce nao entendeu direito,
digamos que eu escolha lá tres campos, e digite neles. texto1, texto2 e texto3
entao como eu vou exibir os tres dados diferentes em uma única variável "$opcao" ??
Testou o que eu postei? Conhece a estrutura foreach? $opcao [possui um valor diferente a cada iteração. Você pode salvar esses dados onde quiser, num banco de dados, arquivo ou simplesmente num array.
>
>
Eu acho que voce nao entendeu direito,
digamos que eu escolha lá tres campos, e digite neles. texto1, texto2 e texto3
entao como eu vou exibir os tres dados diferentes em uma única variável "$opcao" ??
Testou o que eu postei? Conhece a estrutura foreach? $opcao [possui um valor diferente a cada iteração. Você pode salvar esses dados onde quiser, num banco de dados, arquivo ou simplesmente num array.
não conheço a opção foreach e não testei o que postou, porque nao entendi como vou pegar os dados diferentes já que voce só demonstrou com uma variável, se me explicar melhor eu agradeço!
abraço.
Galera, é o seguinte:
Eu estou desenvolvendo um sistema de gerenciamento de mercadorias..
Nele, existe o campo "Kits" que é um Select e dependendo do número de kits, ele adiciona mais campos, ate ai tudo oK.
O problema é que nao sei como pego os dados se for mais de dois campos..
agradeço a quem tentar me ajudar..