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

Buscar dados de usuário de uma sessão

Como eu busco todos os dados do usuário de uma sessão?

tenho no banco de dados nome, sobrenome, email e senha. Que código uso para buscar cada um destes dados individualmente?

8 respostas

Vou supor que você já guardou o id do usuário em uma $_SESSION, é só você fazer a query ao banco de dados buscando pelo usuário que possui aquele id, ex:

SELECT * FROM USUARIO WHERE id ='". $_SESSION['id']."'"

Essa é a query que irá no banco buscar o usuário desejado.

Wilson Bom dia, acho que faltou um '$' ali quando você está passando o índice para pegar a session.

Eu não guardei o id do usuário em minha sessão. Não sei como fazer isso, pois não foi apresentado na aula, pelo menos que eu tenho entendido.

Mesmo depois de pegar o id do usuário, como eu faço para exibir os dados dele separadamente?

tipo

echo <?=$usuario['nome']?> echo <?=$usuario['sobrenome']?>

no curso ensina a buscar uma lista de produtos que está no banco de dados, se eu fizer uma lista de usuários, também vai me apresentar a lista da tabela usuários, mas não sei como pegar um único usuário por sessão e montar um perfil com os dados dele.

Não vou copiar tudo aqui, mas tem esse link supimpa para aprender a guardar o id do user na sessão . Lembre-se de sempre apagar o/os valoro(es) que tem guardado na sessão quando o user der logout.

Tutorial Sessão

A consulta ficaria como o amigo falou.

Olá Davi, no tutorial ele me ensina a guardar o nome do usuário dentro da página e usar em outras páginas. Mas eu quero buscar o nome no banco de dados. O tutorial não ensina a fazer isso <?php $_SESSION['usuario'] = 'Thiago';

Se você tem usuário X logado, ele tem que salvar algo na sessão para poder fazer a consulta SQL e buscar o resto dos dados do usuário X em questão.

Deu certo amigo?

solução!

Então Davi deu certo e a solução foi alterar minha função, ficou assim:

function logaUsuario($email, $id, $nome, $cidade, $estado, $pais, $funcao, $senha) {

$_SESSION['usuario_logado'] = $email; $_SESSION['usuario_id'] = $id; $_SESSION['usuario_nome'] = $nome; $_SESSION['usuario_cidade'] = $cidade; $_SESSION['usuario_estado'] = $estado; $_SESSION['usuario_pais'] = $pais; $_SESSION['usuario_funcao'] = $funcao; $_SESSION['usuario_senha'] = $senha; }

na hora de abrir a sessão, no momento do login, eu a chame desta forma:

logaUsuario($usuario['email'], $usuario['id'], $usuario['nome'], $usuario['cidade'], $usuario['estado'], $usuario['pais'], $usuario['funcao'], $usuario['senha']); header("Location: ../interno/index.php"); }

e para chamar um dado do usuário para preencher o perfil eu uso, por exemplo se quiser exibir o nome:

<?=$_SESSION['usuario_nome'];?>

se quiser exibir a cidade:

<?=$_SESSION['usuario_cidade'];?>

e assim por diante