6
respostas

Função logaUsuario()

Estou com uma dúvida referente a seguinte parte do código:

function logaUsuario($email){
    setcookie("usuario_logado", email, time() + 60);
}

Por que na hora de criar a função, eu chamo o "email" sem o "$"? Ele não seria uma variável que foi criada anteriormente pelo método POST?

6 respostas

Olá Rog,

Sim, o correto é chamar o "email" com o "$" porque é uma váriavel sendo chamada via parâmetro, então temos que utiliza-la na função do mesmo modo que declaramos no parâmetro, sem o símbolo "$" não irá reconhecer que tipo de informação seria o "email".

Lembrando sempre variáveis em PHP tem que iniciar com "$".

Espero ter ajudado.

Tiago,

Obrigado pela resposta.

Porém quando eu chamo o "email" sem o "$", não definindo que estou tratando de uma variável, o código também funciona.

Algum motivo para o PHP interpretar essa variável sem o "$"?

Mas a função consegue recuperar o valor do "email" mesmo sem o "$" ou o cookie fica com um valor vazio?

Provavelmente não acuse erro, mas não reconhece o valor do parâmetro passado.

Consegue recuperar perfeitamente Tiago. Eis o motivo da minha curiosidade em entender porquê o PHP interpreta o parâmetro "email" como sendo uma variável sem o "$".

Talvez esteja tratando a variável como constante, assim não seria necessário o $.

Se você tirar o $, a função logaUsuario() retorna o string "email". O cookie "usuario_logado" fica com o valor "email" e na tela de login aparece a mensagem "Você está logado como email".

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software