Ir ao conteúdo

Teste de condição true ou false em checkbox


Jandir Rhoden

Posts recomendados

Postado

Olá pessoal.

Estou desenvolvendo um projeto onde tenho uma pergunta com três opções de resposta para ser marcado apenas uma onde estou usando um elemento checkbox para marcar a resposta. Mas apenas poderá ser marcada um resposta para a pergunta.

Meu projeto esta estruturado da seguinte forma:

cadastrar.php


<form method="post" action="gravar.php">
<label>Alternativa01</label>
<input name="alternativa01" type="checkbox" />
<label>Alternativa02</label>
<input name="alternativa02" type="checkbox" />
<label>Alternativa03</label>
<input name="alternativa03" type="checkbox" />
<input type="submit" value="Salvar" />
</form>

enviar.php


<?php
//recebendo as variáveis
$alternativa01=$_POST["alternativa01"];
$alternativa02=$_POST["alternativa02"];
$alternativa03=$_POST["alternativa03"];
//fazer o teste de condição das variáveis
//o primeiro if compara se todas as alternativas estão vazias
if(($alternativa01=="") and ($alternativa02=="") and ($alternativa03==""){
echo ("favor marcar uma alternativa");
}
//estes if comparam se alguma alternativa foi marcada
if($alternativa01!="") }
echo ("a alternativa selecionada foi a $alternativa01");
}else{
if($alternativa02!="") }
echo ("a alternativa selecionada foi a $alternativa02");
}else{
if($alternativa03!="") }
echo ("a alternativa selecionada foi a $alternativa03");
}
}
}
?>

Minha duvida é a seguinte estou trabalhando com o elemento checkbox, sendo que o mesmo possui o estado checked=true e checked=false, gostaria que se alguém pudesse analisar meu código ou dar uma dica de como fazer isso com os checkbox.

Agradeço qualquer ajuda....

Postado

Olá, sua condição está escrita de forma errada.

1) Faltou um parêntesis logo na primeira condição:

Era assim:

if(($alternativa01=="") and ($alternativa02=="") and ($alternativa03==""){

Deveria ser assim:

if(($alternativa01=="") and ($alternativa02=="") and ($alternativa03=="")){

2) A estrutura da condição está errada:

Você está fechando o if:

if($alternativa01!="") }

3) O if com else funciona assim: Se (if) for VERDADEIRO FAÇA, Senão (else), FAÇA.

Quando você coloca mais de um else, dá um erro, pois você está adicionando uma condição inexistente. Neste caso, você tem que usar o else if

A estrutura é:



if ( condição ) {
//faça
} else if ( outra condição ) {
// faça
} else {
// se não for nenhuma das 2 condições, faça
}

4) O outro erro tem a ver com HTML. Se você quer que a pessoa escolha somente 1 opção, não use checkbox, use radio button.

Refiz seu código e ficou assim:

PHP:



<?php

if( $_POST ){
extract($_POST); // Isso transforma os names dos inputs em variaveis automaticamente

if( $alternativa == "alternativa1" ){
echo "Alternativa 1 Escolhida";
} else if ( $alternativa == "alternativa2" ){
echo "Alternativa 2 Escolhida";
} else {
echo "Alternativa 3 Escolhida";
}
}

?>

HTML:



<form method="post" action="gravar.php">
<input type="radio" name="alternativa" value="alternativa1">Alternativa 1<br />
<input type="radio" name="alternativa" value="alternativa2">Alternativa 2<br />
<input type="radio" name="alternativa" value="alternativa3">Alternativa 3<br />
<input type="submit" value="Enviar" />
</form>

Bom, o aconselho a estudar lógica de programação. Tem um cara excelente no Youtube.

Este é o primeiro vídeo da aula. Veja a sequência e você aprenderá como conversar com o computador:

Sugiro também estudar HTML por conta própria. Não conheço nenhum tutorial legal online, talvez os demais amigos do fórum conheçam.

Se possível, faça um curso bom de HTML e PHP.

Eu tinha muitos problemas aprendendo e executando sozinho.

Fiz um curso de 1 mês de HTML/CSS, PHP e jQuery e hoje faço muita coisa.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!