Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, Tudo blz?
Tenho um form com alguns campos, como por exemplo:
<form method="post" action="index.php?cms=Cadastro">
<input type="text" value="<?php echo @$campo['nome']; ?>" class="inputbox" />
<input type="text" value="<?php echo @$campo['bairro']; ?>" class="inputbox" />
<input type="text" value="<?php echo @$campo['estado']; ?>" class="inputbox" />
...
..
Os campos sao obrigatórios, mas preciso que se um desses 03 campos forem preenchidos, os outros nao precisem ser
Alguém tem alguma ideia?
vlww!Então primeiramente vou levantar uma dúvida pois fiquei curioso....
Porque passar um GET no form se o método usado é POST?
Certo, certo, mas o campos não estão vazios já estão preenchidos com valores do php.
Então tenta assim:
Formulário
Spoiler
<form method="post" action="index.php">
<input type="hidden" value="cadastro" />
<input type="text" name="nome" value="<?= $campo['nome']; ?>" class="inputbox" />
<input type="text" name="bairro" value="<?= $campo['bairro']; ?>" class="inputbox" />
<input type="text" name="estado" value="<?= $campo['estado']; ?>" class="inputbox" />
<button type="submit">Validar o form</button>
</form>
Index.php que recebe os dados do form
Spoiler
<?php
try {
if (count($_POST) && isset($_POST['cadastro'])) { // É porque existem dados na global POST e há um com o valor cadastro
if (isset($_POST['nome']) && !empty($_POST['nome'])) {
throw new Exception("Nome existe e foi preenchido, mas não sei dos outros", E_NOTICE);
} else if (isset($_POST['bairro']) && !empty($_POST['bairro'])) {
throw new Exception("Bairro existe e foi preenchido, mas não sei dos outros", E_NOTICE);
} else if (isset($_POST['estado']) && !empty($_POST['estado'])) {
throw new Exception("Estado existe e foi preenchido, mas não sei dos outros", E_NOTICE);
} else {
throw new Exception("Nenhum dos dados existem ou não foram preenchidos", E_NOTICE);
}
} else {
echo ("Sem post no arquivo");
}
} catch (Exception $e) {
echo "<p>Resultado é: #{$e->getMessage()}<br>";
}
Basicamente é: Verificar se um dos valores existem se sim, não importa como os outros vão está.
Só tenho que ressaltar que você está suprindo erro de valor usando um @ no começo das entradas do form. E isso é ruim, esses dados devem ser tratados e verificados/corrigidos etc.. antes de entrarem no form.
Suprir erro só causará problemas futuros, e muitas vezes pode comprometer quase, se não todo o projeto. Por isso trate e conserte previna antes mesmo que possam existir.
Você alterou a pergunta?
Eram dois campos: taxa e valor e agora são três: nome , bairro, estado?
É uma trabalho escolar?