Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Passando parâmetros GET para uma função...

Olá, Eu tentei executar esse código:

<?php
    $number1 = $_GET["num1"];
    $number2 = $_GET["num2"];

    function contador($num1 = $number1, $num2 = $number1){
        return ($num1 + $num2);
    }
?>

<!DOCTYPE html>
<html>
    <head>
        <title>Gênio matemático</title>
        <meta charset="utf-8">
    </head>
    <body>
        <h1>O resultado é <?php echo contador();?>!</h1>
    </body>
</html>

Recebi esse erro:

Fatal error: Constant expression contains invalid operations in E:\Novapasta\xampp\htdocs\loja\index.php on line 5

Eu usei essa uri:

http://localhost/loja/index.php?num1=1&num2=1

O que eu fiz de errado?

3 respostas
solução!

Boa tarde Wilton!

Seus erro foram criar a função contador mas não invocá-la nem criar uma variável para guardar o valor da soma e depois exibir o valor dessa variável. Altere seu código para:

<?php
$number1 = $_GET["num1"];
$number2 = $_GET["num2"];

//Você havia criado a função "contador", mas não havia chamado a função.
function contador($num1, $num2){
    return ($num1 + $num2);
}

//Aqui é feita a chamada da função "contador", e o valor é retornado para a variável $contador.
$contador = contador($number1, $number2);
?>

<!DOCTYPE html>
<html>
<head>
    <title>Gênio matemático</title>
    <meta charset="utf-8">
</head>
<body>
    <h1>O resultado é <?php echo $contador;?>!</h1>
</body>
</html>

Depois acesse a uri:

http://localhost/contador.php?num1=1&num2=1

Aguardo retorno!

Valeu Jonas,

Parece então que eu não posso imprimir diretamente na tela o resultado das funções com o "echo", eu vou ter que primeiro armazenar o retorno em alguma variável.

Acertei?

Não há de quê! :-)

Você pode até exibir na tela alterando a função:

function contador($num1, $num2){
    echo $num1 + $num2;
}

E chamando a mesma assim:

<h1>O resultado é <?php echo contador($number1, $number2);?>!</h1>