Ir para conteúdo

Arquivado

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

Bianka__As

Função em PHP

Recommended Posts

O problema é o seguinte: o código funciona perfeitamente dessa maneira:

 

 

*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!!!";
}
?>

 

 

 

 

 

Mas quando coloco o código php dentro de uma função o resultado simplesmente não aparece, gostaria de saber como chamar uma função em php, tô começando a estudar agora e to fazendo pequenos testes. O problema mesmo é que dentro da função não executa Segue o código que não funciona:

 

 

 

*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;
function media{
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

Primeiro, leia o manual:

http://php.net/manual/pt_BR/language.variables.scope.php

 

Você tem que entender o escopo das variáveis.

 

Segundo, você tem duas opções:

 function media{
global $media;
if($media>=7){
echo  "Média: $media<br>Você foi aprovado!!!"; 
}
else{
 echo "Média: $media<br>Você foi reprovado!!!"; 
 }
}

Ou:

 function media($media){
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

 

Primeiro, leia o manual:

http://php.net/manual/pt_BR/language.variables.scope.php

 

Você tem que entender o escopo das variáveis.

 

Segundo, você tem duas opções:

 function media{
global $media;
if($media>=7){
echo  "Média: $media<br>Você foi aprovado!!!"; 
}
else{
 echo "Média: $media<br>Você foi reprovado!!!"; 
 }
}

Ou:

 function media($media){
if($media>=7){
echo  "Média: $media<br>Você foi aprovado!!!"; 
}
else{
 echo "Média: $media<br>Você foi reprovado!!!"; 
 }
}

Não funciona de nenhuma forma é como se assim que colocasse dentro da função o resultado simplesmente sumisse

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer. Ficou dessa maneira o arquivo nota.php

 

<?php
header('Content-Type: text/html; charset=UTF-8');
echo '<html>';
$n1=(float)($_POST['n1']);
$n2=(float)($_POST['n2']);
$n3=(float)($_POST['n3']);
$n4=(float)($_POST['n4']);
function media($n1,$n2,$n3,$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!!!";
}
}
media($n1,$n2,$n3,$n4);

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.