Ir para conteúdo

POWERED BY:

Arquivado

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

rockito

[Resolvido] com operadores - IF THEN ELSE

Recommended Posts

Olá

Estou começando no PHP e para fazer uns exercícios decidi criar uma página com 2 inputs de texto que no caso verificariam a data de nascimento e o mes e assim depois denominariam qual o signo da pessoa segundo os dados colocados nos inputs de texto.

O problema é que estou tento problemas no uso de IF - THEN - ELSEIF no PHP.

 

Vejam o código verifica.php que é responsável por fazer a verificação do dia e mês mostrando assim o signo:

<?php

$dia = $_POST['dia'];
$mes = $_POST['mes'];
$signo;

if ($mes = 3 and $dia >= 21 or $mes = 4 and $dia <= 20) 
   $signo = ("Áries");
  elseif 
 ($mes = 4 and $dia >= 21 or $mes = 5 and $dia <= 20) 
	$signo = ("Touro");

	echo $signo;
?>

O problema é que sempre ele está mostrando o signo de Áries http://forum.imasters.com.br/public/style_emoticons/default/natal_w00t.gif

 

Sim, ainda não terminei de colocar os outros signos pois não consegui passar dessa verificação, sendo assim, quando conseguir acertar isso posso passar a fazer a verificação dos próximos meses/dias.

 

Espero que alguém possa me mostrar onde estou errando.

Obrigado.

 

Abraços

Rafael

Compartilhar este post


Link para o post
Compartilhar em outros sites

para compara se um valor eh igua ao ourto você usa p ==

 

$dia = $_POST['dia'];
$mes = $_POST['mes'];
$signo;

if ($mes == 3 and $dia >= 21 or $mes == 4 and $dia <= 20)
   $signo = ("Áries");
  elseif
($mes == 4 and $dia >= 21 or $mes == 5 and $dia <= 20)
	$signo = ("Touro");

	echo $signo;

o = é atribuição

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Otata

Obrigado pela resposta rápida e certeira ;)

 

Funcionou perfeitamente.

Obrigado.

 

Qualquer coisa volto a postar.

 

Abraços

:P

 

------

Edit

Não havia visto a postagem de Igor.php.

Obrigado pela dica também amigo, como disse anteriormente estou iniciando em PHP. Por isso mais tarde vou tentar fazer do modo que falou ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cadeias de ifs/else ifs/else(s) tem melhor desempenho.

Mas claro...em determinados casos um é mais interessante que o outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hi for all !

Venho aqui postar o 'projeto final'.

Ficou bem simples .. :P

 

Index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<title>Verificação de Signo</title>
</head>

<body>
<center>
<b><font face="Prestige Elite Std" size="+4">Verificação de Signos</font></b><br><br>
<img src="http://www.psicoastro.com/img/signos.gif" align="center" /><br><br><br>
<u><font color="red"><b>Meses:</b></font></u><ol type="1" start="1">
	<tt><li>Janeiro</li>
	<li>Fevereiro</li>
	<li>Março</li>
	<li>Abril</li>
	<li>Maio</li>
	<li>Junho</li>
	<li>Julho</li>
	<li>Agosto</li>
	<li>Setembro</li>
	<li>Outubro</li>
	<li>Novembro</li>
	<li>Dezembro</li></tt>
</ol>

<form name="form" method="post" action="verifica.php">
<tt>Entre com o <u>dia</u> do seu <b>nascimento</b>:</tt>
 <input type="text" name="dia" />
 <br />
 <tt>Entre com o <u>mês</u> do seu <b>nascimento</b>:</tt>
 <input type="text" name="mes" />
 <br /> <br />
<input type="submit" name="submeter" value="Qual meu signo ?"/>
</center>
</form>

</body>
</html>

verifica.php

<?php

$dia = $_POST['dia'];
$mes = $_POST['mes'];
$signo;

if ($mes == 3 and $dia >= 21 or $mes == 4 and $dia <= 20)
   $signo = ("Áries");
  elseif
($mes == 4 and $dia >= 21 or $mes == 5 and $dia <= 20)
	$signo = ("Touro");
  elseif
($mes == 5 and $dia >= 21 or $mes == 6 and $dia <= 20)
	$signo = ("Gêmeos");
  elseif
($mes == 6 and $dia >= 21 or $mes == 7 and $dia <= 20)
	$signo = ("Cancêr"); 
  elseif
($mes == 7 and $dia >= 21 or $mes == 8 and $dia <= 20)
	$signo = ("Leão");
  elseif
($mes == 8 and $dia >= 21 or $mes == 9 and $dia <= 20)
	$signo = ("Virgem");
  elseif
($mes == 9 and $dia >= 21 or $mes == 10 and $dia <= 20)
	$signo = ("Libra");
  elseif
($mes == 10 and $dia >= 21 or $mes == 11 and $dia <= 20)
	$signo = ("Escorpião"); 
  elseif
($mes == 11 and $dia >= 21 or $mes == 12 and $dia <= 20)
	$signo = ("Sagitário");
  elseif
($mes == 12 and $dia >= 21 or $mes == 1 and $dia <= 20)
	$signo = ("Capricórnio");
  elseif
($mes == 1 and $dia >= 21 or $mes == 2 and $dia <= 20)
	$signo = ("Aquário");
  elseif
($mes == 2 and $dia >= 21 or $mes == 3 and $dia <= 20)
	$signo = ("Peixes");
	echo "<tt><center>Seu Signo é <b>$signo</tt><center></b>";
		
?>

Quem ver algum erro, ou quiser dar alguma sugestão será bem vindo :D

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Checa se os valores vieram vazios...

if(isset($_POST['dia']) && isset($_POST['mes'])){
	if(trim($_POST['dia']) != '' && trim($_POST['mes'] != '')){
		//Seu code
	} else {
		//Mensagem de erro
	}
}

E só pra brincar:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<title>Verificação de Signo</title>
	<script>
		window.onload = function(){
			var select = document.getElementsByName("dia")[0];
			for(j = 1;j <= 31;j++){
				var option = document.createElement("option");
				option.setAttribute('value', j);
				option.appendChild(document.createTextNode('Dia'+j));
				select.appendChild(option);
			}
			var ol = document.getElementsByTagName("ol")[0];
			for(i = 0;i <= ol.childNodes.length;i++){
				ol.childNodes[i].nodeName;
				if(ol.childNodes[i].nodeName.toLowerCase() == 'li'){
					ol.childNodes[i].setAttribute('onClick', 'preencheMes(this.innerHTML);');
				}
			}
		}
		function preencheMes(value){
			document.getElementsByName('mes')[0].value = value.substring(4, value.length-5);
		}
	</script>
</head>

<body>
<center>
<b><font face="Prestige Elite Std" size="+4">Verificação de Signos</font></b><br><br>
<img src="http://www.psicoastro.com/img/signos.gif" align="center" /><br><br><br>
<u><font color="red"><b>Meses:</b></font></u><ol type="1" start="1">
	<tt><li>Janeiro</li>
	<li>Fevereiro</li>
	<li>Março</li>
	<li>Abril</li>
	<li>Maio</li>
	<li>Junho</li>
	<li>Julho</li>
	<li>Agosto</li>
	<li>Setembro</li>
	<li>Outubro</li>
	<li>Novembro</li>
	<li>Dezembro</li></tt>
</ol>

<form name="form" method="post" action="verifica.php">
<tt>Selecione o <u>dia</u> do seu <b>nascimento</b>:</tt>
<select name="dia">
	<option selected="selected">Selecione</option>
</select>
<br />
<tt>Entre com o <u>mês</u> do seu <b>nascimento</b>:</tt>
<input type="text" name="mes" readonly="readonly" value="[Clique no mes]" />
<br /> <br />
<input type="submit" name="submeter" value="Qual meu signo ?"/>
</center>
</form>

</body>
</html>

askaokspasa...

Tomei o tópico como resolvido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.