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

Dúvida no Ex. 4 da Aula 3 - Refatorando acesso ao usuário

Ao implementar a seguinte função da seguinte forma:

<?php
function usuarioEstaLogado(){
    return isset(usuarioLogado());
}

function usuarioLogado(){
    return $_COOKIE["usuario_logado"];
}

Ao invés de:

function usuarioEstaLogado(){
    return isset($_COOKIE["usuario_logado"]);
}

Por que ocorre da função usuarioEstaLogado() não funcionar chamando a função usuarioLogado()?

4 respostas

Na sua função usuarioEstaLogado() mude o isset para empty:

function usuarioEstaLogado(){
    return empty(usuarioLogado());

Funcionou?

Abraço!

Não funcionou :-/

O que difere usar isset de empty?

solução!

O isset verifica se a variável é definida.

O empty determina se uma variável é considerada vazia.

Samuel, na função usuarioLogado() ele retorna o nome do usuario, ou seja, o isset verifica se a variável é definida, e a função retorna um valor.

E a função usuarioEstaLogado() verifica o proprio cookie.

Obs: O cookie é um array.

function usuarioEstaLogado(){
    return isset($_COOKIE["usuario_logado"]);
}

Entendeu?

Obrigado :-)