Ir ao conteúdo
  • Cadastre-se

PHP Problema em passagem de parametros


Posts recomendados

Estou começando a estudar php por vontade propria e queria criar um aplicativo para calcular a area de um retangulo, o problema é que só estou conseguindo passar 1 parametro para função que eu criei, e não consigo passar os dois, e da erro 328364186_funo.thumb.png.53c2d5ccebeb53ad315641d7cf03014d.pngata.thumb.png.369b89dfe12fcf289a0221dda2c9197d.pngMensagemerro.thumb.png.8891c53611a333372960aa56a6bac3bd.pngporque fala que a função precisa de dois parametros mas só passou 1, como posso resolver? Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

  • Moderador

@PBlackOuT Olá,

Primeiro, evite de postar o código em imagens. Isso nos atrapalha muito.

Agora sobre seu código... bem, você diz que criou uma função que precisa de dois parâmetros.... que função é essa?

Você só postou parte do código.  

Você diz que é iniciante, mas já começa em forma orientada a objetos?  

 

No mais, melhor postar na íntegra seus códigos.

Link para o comentário
Compartilhar em outros sites

Já trabalhei com outras linguagens orientada a objeto.

Eu enviei 3 imagens, mas realmente não está aparecendo, o código da função é simples:


<?php
    class Retangulo
    {
        public function CalcReta($h, $b)
        {
            $p;
            $p =  $h * $b;
            return ($p);
        }    
    }
?>

 

E quanto o erro, aparece a seguinte mensagem:


Fatal error: Uncaught ArgumentCountError: Too few arguments to function Retangulo::CalcReta(), 1 passed in C:\xampp\htdocs\formageometrica\Retangulo.php on line 10 and exactly 2 expected in C:\xampp\htdocs\formageometrica\Retangulo-class.php:4 Stack trace: #0 C:\xampp\htdocs\formageometrica\Retangulo.php(10): Retangulo->CalcReta('5') #1 {main} thrown in C:\xampp\htdocs\formageometrica\Retangulo-class.php on line 4

Link para o comentário
Compartilhar em outros sites

  • Moderador

@PBlackOuT Então,  você criou a função que tem 2 parâmetros, mas só passou um lá. Iria dar erro mesmo.

Você tem que passar os parâmetros separado por vírgula, exatamente como fez ao criar a função...

 

 

$caixa1 = $_POST["caixa1"];
$caixa2 = $_POST["caixa2"];

$resultado = $ob->CalcReta($caixa1,$caixa2);

Na sua função, a variável $p que não tem valor algum pode ser removida.

 

class Retangulo{
        public function CalcReta($h, $b){    
            $p =  $h * $b;
            return $p;
        }    
  }

Testei seu código no phptester.net e funciona.

 

Uma dica,  evite de colocar o formulário no mesmo arquivo do php. 

Melhor quando se trabalha com coisas separadas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!