Boa noite. Eu estou tentando criar uma folha de pagamento para uma atividade do meu curso mas não sei como corrigir esses erros:
Notice: Undefined variable: nome in C:xampphtdocsaula23tarde20controllerfolhapagamento.controller.php on line 34
Notice: Undefined variable: cpf in C:xampphtdocsaula23tarde20controllerfolhapagamento.controller.php on line 34
Notice: Undefined variable: cargo in C:xampphtdocsaula23tarde20controllerfolhapagamento.controller.php on line 34
(Todas as variáveis entre parênteses na linha 34 dão esse erro.)
Segue o código das packages:
funcionario.class.php
<?php
class Funcionario {
private $nome;
private $cpf;
private $cargo;
private $valorHora;
private $quantidadeHoras;
private $horasExtras50;
private $horasExtras100;
private $dependentes;
private $tipoInsalubridade;
private $valorTransporteMensal;
private $valorRefeicaoDiaria;
public function __construct($nome, $cpf, $cargo, $valorHora, $quantidadeHoras, $horasExtras50, $horasExtras100, $dependentes, $tipoInsalubridade, $valorTransporteMensal, $valorRefeicaoDiaria){
$this->nome = $nome;
$this->cpf = $cpf;
$this->cargo = $cargo;
$this->valorHora = $valorHora;
$this->$quantidadeHoras = $quantidadeHoras;
$this->$horasExtras50 = $horasExtras50;
$this->$horasExtras100 = $horasExtras100;
$this->$dependentes = $dependentes;
$this->$tipoInsalubridade = $tipoInsalubridade;
$this->$valorTransporteMensal = $valorTransporteMensal;
$this->$valorRefeicaoDiaria = $valorRefeicaoDiaria;
}
public function __set($atributo,$valor) {
$this->$atributo = $valor;
}
public function __get ($atributo) {
return $this->$atributo;
}
public function __toString()
{
return "<br>Nome: ".$this->nome.
"<br>CPF: ".$this->cpf.
"<br>Cargo: ".$this->$cargo.
"<br>Valor Hora: ".$this->$valorHora.
"<br>Quantidade de Horas: ".$this->$quantidadeHoras.
"<br>Horas Extras 50%: ".$this->$horasExtras50;
"<br>Horas Extras 100%: ".$this->$horasExtras100;
"<br>Dependentes: ".$this->$dependentes;
"<br>Insalubridade: ".$this->$tipoInsalubridade;
"<br>Valor de Transporte Mensal: ".$this->$valorTransporteMensal;
"<br>Valor de Refeição Diária: ".$this->$valorRefeicaoDiaria;
}
public function calcularSalarioBruto(){
$valorHora*$quantidadeHoras;
}
public function calcularValeTransporte(){
if (calcularSalarioBruto()*0.06 > $valorTransporteMensal) {
return calcularSalarioBruto()*0.06;
}else{
return 0;
}
}
public function calcularSalarioFamilia(){
if (calcularSalarioBruto() <= 1425.56) {
return 48.62;
}else {
return 0;
}
}
public function calcularInsalubridade(){
switch ($tipoInsalubridade) {
case '1':
return 'Não Aplicável';
break;
case '2':
return 1045.00*0.10;
break;
case '3':
return 1045.00*0.20;
break;
case '4':
return 1045.00*0.40;
break;
}
}
public function calcularINSS(){
if (calcularSalarioBruto() < 1751.81) {
return calcularSalarioBruto()*0.08;
}elseif (calcularSalarioBruto() > 1751.82 & calcularSalarioBruto() < 2919.72){
return calcularSalarioBruto()*0.09;
}elseif (calcularSalarioBruto() > 2919.73 & calcularSalarioBruto() < 5839.45){
return calcularSalarioBruto()*0.11;
}else {
return calcularSalarioBruto()*0.27;
}
}
public function calcularValeRefeicao(){
25*($valorRefeicaoDiaria)*0.20;
}
public function calcularValorExtra50(){
(($valorHora*$horasExtras50)*1.5) - $valorHora - ($valorHora*0.5);
}
public function calcularValorExtra100(){
(($valorHora*$horasExtras100)*2);
}
public function calcularTotalHorasExtras(){
calcularValorExtra50() + calcularValorExtra100();
}
public function calcularSalarioLiquido(){
calcularSalarioBruto() + calcularTotalHorasExtras() + calcularValeRefeicao() + calcularInsalubridade() + calcularSalarioFamilia() + calcularValeTransporte() - calcularINSS();
}
}
?>
folhapagamento.controller.php
<!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title> Salário Final </title>
<meta name="author" content="Leandro Pacheco do Amaral">
<meta name="description" content="Atividade 1 - Calculando Salário do Funcionário">
<meta name="keywords" content="PHP, CSS, Estilização, HTML, MVC">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<link rel="stylesheet" type="text/css" href="../css/style.css">
</head>
<body>
<main class="cadastrocontainer-fluid">
<nav class="p-2 m-5">
<div class="nav-wrapper red darken-4">
<a href="" class="brand-logo left">Salário Final</a>
<ul class="nav-mobile right">
<li><a href="../index.html">Inicio</a></li>
<li><a href="../view/cadastrafuncionario.php">Calcular Novamente</a></li>
</ul>
</div>
</nav>
<section>
<p>
Resultados
</p>
<hr>
<?php
include '../model/funcionario.class.php';
$f1 = new Funcionario ($nome, $cpf, $cargo, $valorHora, $quantidadeHoras, $horasExtras50, $horasExtras100, $dependentes, $tipoInsalubridade, $valorTransporteMensal, $valorRefeicaoDiaria);
$f1->nome = $_GET('txtnome');
$f1->cpf = $_GET('txtcpf');
$f1->cargo = $_GET('txtcargo');
$f1->valorHora = $_GET('txtvalorhora');
$f1->quantidadeHoras = $_GET('txtquantidadehoras');
$f1->horasExtras50 = $_GET('txthorasextras50');
$f1->horasExtras100 = $_GET('txthorasextras100');
$f1->dependentes = $_GET('txtdependentes');
$f1->tipoInsalubridade = $_GET('selinsalubridade');
$f1->valorTransporteMensal = $_GET('txttransportemensal');
$f1->valorRefeicaoDiaria = $_GET('txtrefeicaodiaria');
$f1->set($salarioFixo);
$f1->setV($valorVendas);
echo "<p class='center-align'><br><b>Dados:</b></p>".$f1->toString().
"<p class='center-align'><br>Salário Bruto: R$ " .number_format($f1->calcularSalarioBruto(), 2, ',', '.').
"<br><b>Salário Líquido: R$ " .number_format($f1->calcularSalarioLiquido(), 2, ',', '.').
"</p></b>";
?>
</section>
</main>
</body>
</html>
Eu sou extremamente inexperiente, então provavelmente eu errei algo muito simples.