Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!!";
} 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!!!";
} echo "Média: $media<br>Você foi reprovado!!!";
}
}
?>>
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!!!";
} echo "Média: $media<br>Você foi reprovado!!!";
}
} 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
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);
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{
else{
Ou: else{