Ir para conteúdo

Arquivado

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

Bianka__As

IF em PHP

Recommended Posts

USO O NETBEANS E FIZ UM SCRIPT BEM SIMPLES PARA CALCULAR A MÉDIA ENTRE QUATRO NOTAS, PORÉM SÓ RETORNA O VALOR 0 E "REPROVADO" MESMO QUANDO EU COLOCO NOTAS AUTAS PARA A REALIZAÇÃO DO CÁLCULO. SEGUE O CÓDIGO:

 

 

*O ARQUIVO form.php:
<html>
<body>
<form action="nota.php" method="POST"  name="form">
   Nota1:<input type="text" name="n1"><br>
   Nota2:<input type="text" name="n2"><br>
   Nota3:<input type="text" name="n3"><br>
   Nota4:<input type="text" name="n4"><br>
   <input type="submit" value="Calcular">
 </form>
</body>
</html>
 
 
*O ARQUIVO nota.php:
<?php
 
$n1=$_POST['n1'];
$n2=$_POST['n2'];
$n3=$_POST['n3'];
$n4=$_POST['n4'];
$media=($n1+$n2+$n3+$n4)/4;
 
if($media>=7){
echo  "Média: $media<br>Você foi aprovado!!!"; 
}
else{
 echo "Média: $media<br>Você foi reprovado!!!"; 
 }
 ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo porém teria que retornar algum valor o calculo não vejo erro no código para retornar o valor exato 0.

 

você usa $n4, mas não existe o input para essa nota. Logo, o script considera-a como zero. Assim a média fica baixa mesmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim amigo porém teria que retornar algum valor o calculo não vejo erro no código para retornar o valor exato 0.

$n4 é considerado 0, não o resultado final

Assim, o aluno só será aprovado se tirar 10 nas 3 provas (30 / 4 = 7,5, que é maior que 7)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas ela da echo na média então se ela coloca valores nas 3 médias vai ser reprovado mas não daria 0 :/

$n4 é considerado 0, não o resultado final

Assim, o aluno só será aprovado se tirar 10 nas 3 provas (30 / 4 = 7,5, que é maior que 7)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas ela da echo na média então se ela coloca valores nas 3 médias vai ser reprovado mas não daria 0 :/

Você não entendeu.

Eu disse que o n4 é sempre zero

 

Ou seja. Supondo todas as notas 10:

 

n1 = 10

n2 = 10

n3 = 10

n4 = 0, sempre, já que não existe input pra ele. Na verdade será null, mas o PHP considerará 0 durante operações matemáticas

media = (10 + 10 + 10 + 0 ) / 4 = 30 / 4 = 7,5

Compartilhar este post


Link para o post
Compartilhar em outros sites

você usa $n4, mas não existe o input para essa nota. Logo, o script considera-a como zero. Assim a média fica baixa mesmo

 

Você não entendeu.

Eu disse que o n4 é sempre zero

 

Ou seja. Supondo todas as notas 10:

 

n1 = 10

n2 = 10

n3 = 10

n4 = 0, sempre, já que não existe input pra ele. Na verdade será null, mas o PHP considerará 0 durante operações matemáticas

media = (10 + 10 + 10 + 0 ) / 4 = 30 / 4 = 7,5

Eu só esqueci o campo de texto a hora de copiar aqui, mas lá está com todos os inputs, o que não entendo é o pq de o netbeans está retornando sempre o valor zero e sempre reprovado se já vi scripts iguais a este, acho que o problema pode estar no IDE, algum plugin desatualizado, não sei. Gostaria que alguém testasse esse código pra ver se ta funcionando corretamente. Na verdade não está fazendo cálculo nenhum, sempre retornando zero, testei até com uma simples soma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 obs: só por via das dúvidas, nessa linha acho q estão faltando aspas:

 

echo Média: $media.<br>Você foi aprovado!!!";

 

tente assim (ou verifique seu código):

echo  "Média: $media.<br>Você foi aprovado!!!";

ah, aproveite e verifique esse ponto de concatenação

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar no input>submit um name="calcular"

 

aqui eu fiz e rodou, mas aproveitei na mesma pagina com if(isset($_POST['calcular'])){}, e com form action=""

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.