Jump to content


Photo

Variável Indefinida


  • Faça o login para participar
1 reply to this topic

#1 Emy.R.

Emy.R.

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Feminino
  • Localidade:Brasil

Posted 04/03/2015, 18:13

Sou iniciante em PHP e tenho que fazer uma página conectada a um bd que calcule o imc dos alunos de uma academia, porém eu não estou conseguindo entender/resolver este erro de variável indefinida. Código:

 

<?php
$conexao = mysqli_connect(
  "localhost",
  "root",
  "",
  "objetos"
  );
class Alunos{
public $Nome;
public $Endereco;
public $Peso;
public $Altura;


public function __construct($Nome, $Endereco, $Peso, $Altura){
$this -> Nome = $Nome;
$this -> Endereco = $Endereco;
$this -> Peso = $Peso;
$this -> Altura = $Altura;


function calcular($Peso, $Altura)
{
return round($Peso / ($Altura*$Altura),2);
}
}
}


///////////////
  if(mysqli_connect_errno($conexao))
  {
   echo "Não conectado <br>";
  }
  else {
   mysqli_query($conexao, "SET NAMES 'utf8';");
 echo "Conectado <br>";
 $listagem = mysqli_query($conexao, "SELECT * FROM aluno");


 while ($linha=mysqli_fetch_array($listagem)){
  
  $novoaluno = New Alunos(
  $linha['Nome'], 
  $linha['Endereco'] );
  
  while ($linh=mysqli_fetch_array($listagem)){
  $imc = new calculadora(
  $linh['Peso'],
  $linh['Altura']);
  }
$calcular = $imc->calcular($Peso, $Altura);
 /////////////////////////////////////////
 if($imc < 17){
$treinamento = "Ganho de peso.";
}
elseif(($imc > 17) && ($imc <30))
{
$treinamento = "Normal.";
}
else{
$treinamento = "Obeso.";
}
////////////////////////////////////////


echo "$novoaluno->Nome <br>
     $novoaluno->Endereco <br> 
     $novoaluno->Peso kg <br>
     $novoaluno->Altura m<br>
 $imc";


 }
  }

Como resolver?


Edição feita por: Emy.R., 04/03/2015, 18:13.


#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 05/03/2015, 07:44

Olá, tudo bem?

 

Então variável indefinida não é erro apenas alerta informando que a variável não foi iniciada, mas adicione a mensagem que apresenta para você para ter mais certeza.

 

Para remover este alerta, você definir em error_reporting para não exibir E_NOTICE, isso se você tem acesso ao arquivo PHP.INI

 

Caso você não tenha, adicione a linha abaixo no inicio de seu código

<?php
error_reporting(E_ALL ^ E_NOTICE);
.....

 

Mais informações: http://php.net/manua...r-reporting.php


-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq