Display photo of logged-in user from SESSION

Asked

Viewed 348 times

1

I’ve been having trouble with this PHP code for days. I’m developing a simple user registration system, but I’m using access levels, so far so good! I can already display the user name through SESSION. Only now, I am would like to display the photo of the logged in user, registered in the database.

How to do this?

Here is the Validation of my user when logging in

<?php
session_start();    
//Incluindo a conexão com banco de dados
include_once("conexao.php");    
//O campo usuário e senha preenchido entra no if para validar
if((isset($_POST['email'])) && (isset($_POST['senha']))){
    $usuario = mysqli_real_escape_string($conn, $_POST['email']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection
    $senha = mysqli_real_escape_string($conn, $_POST['senha']);
    $senha = md5($senha);

    //Buscar na tabela usuario o usuário que corresponde com os dados digitado no formulário
    $result_usuario = "SELECT * FROM usuarios WHERE email = '$usuario' && senha = '$senha' LIMIT 1";
    $resultado_usuario = mysqli_query($conn, $result_usuario);
    $resultado = mysqli_fetch_assoc($resultado_usuario);

    //Encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
    if(isset($resultado)){
        $_SESSION['usuarioId'] = $resultado['id'];
        $_SESSION['usuarioNome'] = $resultado['nome'];
        $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
        $_SESSION['usuarioEmail'] = $resultado['email'];

        if($_SESSION['usuarioNiveisAcessoId'] == "1"){
            header("Location: dashboard/administrativo.php");
        }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
            header("Location: dashboard/vendedor.php");
        }elseif($_SESSION['usuarioNiveisAcessoId'] == "3"){
            header("Location: dashboard/usermaster.php");
        }else{
            header("Location: cliente.php");
        }
    //Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
    //redireciona o usuario para a página de login
    }else{  
        //Váriavel global recebendo a mensagem de erro
        $_SESSION['loginErro'] = "Usuário ou senha Inválido";
        header("Location: index.php");
    }
//O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login
}else{
    $_SESSION['loginErro'] = "Usuário ou senha inválido";
    header("Location: index.php");
}

?>

<img src="dist/img/default-50x50.gif" class="user-image" alt="User Image">

1 answer

1


Hello! First have to know how this saves the photo in the bank, this in the same table that you are selecting?

Ex:

$_SESSION['usuarioFoto'] = $resultado['foto'];

Then you would put the path or just the name of the photo

<img src="imgs/user/<?=$_SESSION['usuarioFoto'];?>" class="user-image" alt="User Image">
  • But I need to reference this SESSION where validates users, how am I doing for name? If yes, how do I concatenate the SESSION and folder?

  • Just vc do the concatenation where you are setting the Session: $_SESSION['usuarioFoto'] = 'img/user/' . $resultado['foto'];

Browser other questions tagged

You are not signed in. Login or sign up in order to post.