Jump to content
Salvatore

[Resolvido] MOSTRAR NOME DO USUARIO LOGADO

Recommended Posts

Então eu fiz um sistema de login tipo com um nivel de acesso se a tabela adm for = 1 redireciona para o painel e caso não for igual a 1 leva pro index que o usuário normal, o que eu queria sabe fazer e mostrar o nome do usuário normal e do usúario administrador depende de quem for logado

 

ai tem a msg Sr.NOME, ai queria saber como eu verifico e exibo o nome se for Adm exibe e se for Usuário tbm exibe, pq vai ser tipo um index pagina central

Share this post


Link to post
Share on other sites

Salvatore

É muito simples, você faz a verificação do usuário certo?

O usuário digita o login e pass e você vai no banco de dados ver se ele tem permissão ou algo do tipo.

Pelo menos é assim que deve funcionar um sistema de login, bom, nesta verificação você precisa obter o nome do usuário no seu select, após o retorno da confirmação se o usuário tem ou não acesso e com o retorno do nome você vai colocar os comandos abaixo:

 

<?php

session_start();

$_SESSION['nome_usuario'] = Sua variável com o nome retornada do acesso ao banco de dados.

?>

 

Se você não sabe segue um exemplo:

$sql = "select nome_usuario from tb_usuario where login = '".$_POST['login']."' and pass = '".$_POST['pass']."'";

$nome = mysql_fetch_assoc(mysql_query($sql));

$_SESSION['nome_usuario'] = $nome['nome_usuario'];

 

Feito isso, basta em qualquer lugar do seu sistema você colocar no inicio da página o comando

<?php

session_start(); //Esse comando no inicio da Página

?>

<?php

//Feito isso você pode utilizar a variável de SESSÃO para exibir o valor armazenado em qualquer lugar da Página que você colocou o session_start().

echo "Sr. ".$_SESSION['nome_usuario'];

?>

 

Se a resposta lhe for útil, não esqueça de agradescer o POST e votar positivo.

Espero ter ajudado de alguma forma

 

Att
Felipe Guedes Coutinho

 

Share this post


Link to post
Share on other sites
9 horas atrás, Felipe Guedes Coutinho disse:

Salvatore

É muito simples, você faz a verificação do usuário certo?

O usuário digita o login e pass e você vai no banco de dados ver se ele tem permissão ou algo do tipo.

Pelo menos é assim que deve funcionar um sistema de login, bom, nesta verificação você precisa obter o nome do usuário no seu select, após o retorno da confirmação se o usuário tem ou não acesso e com o retorno do nome você vai colocar os comandos abaixo:

 

<?php

session_start();

$_SESSION['nome_usuario'] = Sua variável com o nome retornada do acesso ao banco de dados.

?>

 

Se você não sabe segue um exemplo:

$sql = "select nome_usuario from tb_usuario where login = '".$_POST['login']."' and pass = '".$_POST['pass']."'";

$nome = mysql_fetch_assoc(mysql_query($sql));

$_SESSION['nome_usuario'] = $nome['nome_usuario'];

 

Feito isso, basta em qualquer lugar do seu sistema você colocar no inicio da página o comando

<?php

session_start(); //Esse comando no inicio da Página

?>

<?php

//Feito isso você pode utilizar a variável de SESSÃO para exibir o valor armazenado em qualquer lugar da Página que você colocou o session_start().

echo "Sr. ".$_SESSION['nome_usuario'];

?>

 

Se a resposta lhe for útil, não esqueça de agradescer o POST e votar positivo.

Espero ter ajudado de alguma forma

 

Att
Felipe Guedes Coutinho

 

mesmo assim não vai

 

Codigo do Login

<?php 

include("admin/bd/config.php");

if (isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    $get = mysqli_query($con,"SELECT * FROM authme WHERE username = '$username'");
    $num = mysqli_num_rows($get);

    if ($num == 1) {

        while ($percorrer = mysqli_fetch_assoc($get)) {

            if (password_verify ( $_POST['password'] , $percorrer['password'] )){

                $adm = $percorrer['adm'];
                $username = $percorrer['username'];
                session_start();
                if ($adm == 1) {
                    $_SESSION['adm'] = $username;
                    header("Location: admin/index.php");
                }else{
                    $_SESSION['nor'] = $username;
                    header("Location: index.php");
                }

            }

        }

    }


}

eu acho que tinha que fazer uma verificação pra saber se ele e adm ou não, mas quando eu faço essa verificação fica dando erro de de variavel

Share this post


Link to post
Share on other sites

Salvatore

Para que você possa utilizar QUALQUER variável de SESSÃO ou seja, qualquer variável do tipo $_SESSION['NomeVariavelQualquer'] você precisa obrigatoriamente colocar o comando SESSION_START(); antes de atribuir um valor ou exibir o valor.

 

Resumindo, se você tem em seu arquivo $_SESSION['NomeVariavelQualquer'] você tem que colocar o comando SESSION_START();

 

Experimente utilizar o código abaixo:

Arquivo login.php

<?php

include("admin/bd/config.php");

//Aqui você já pode iniciar a sua SESSÃO.

SESSION_START();

//O comando !empty significa DIFERENTE DE VAZIO

if (!empty($_POST['username']) and !empty($_POST['password'])) {

    $_SESSION['username'] = $_POST['username'];

    $_SESSION['password'] = $_POST['password'];

 

    $sql = "SELECT username FROM authme WHERE username = '".$_SESSION['username']."' and password = '".$_SESSION['password']."'");

    //Dentro do IF abaixo você executa o comando e se ele retornar alguma coisa, 1 registro, então movemos o nome do usuário para a variável de SESSÃO ADMIN se ele não encontrar então ele é um usuário normal, seguindo a sua lógica do num == 1 e percorre até encontrar o password, mas no exemplo que dei basta no mesmo select você buscar pelas duas informações.

    if ($resultado = mysql_fetch_assoc(mysql_query($sql))) {

       $_SESSION['adm'] = $resultado['username'];

        header("Location: admin/index.php");

        exit();

    else {

        $_SESSION['nor'] = $_POST['username'];

        header("Location: index.php");

        exit();

    }

} else {

    header("Location: index.php?usuario=vazio&password=vazio");

    exit();

}

 

//Feito tudo isso, coloque dentro do seu arquivo INDEX.php e de admin/index.php os comandos abaixo:

 

SESSION_START();

if (!empty($_SESSION['adm'])) {

    echo "Bem vindo Sr. ".$_SESSION['adm'];

} else {

    if (!empty($_SESSION['nor'])) {

        echo "Bem vindo usuário: ".$_SESSION['nor'];

    } else {

        echo "O usuário não cadastrado em nossa base de dados";

    }

}

 

Veja se funciona.

Se a minha resposta for útil não esqueça de agradecer e votar positivo.

 

Espero ter ajudado de alguma forma.

 

 

Att
Felipe Guedes Coutinho

Share this post


Link to post
Share on other sites
12 minutos atrás, Felipe Guedes Coutinho disse:

Salvatore

Para que você possa utilizar QUALQUER variável de SESSÃO ou seja, qualquer variável do tipo $_SESSION['NomeVariavelQualquer'] você precisa obrigatoriamente colocar o comando SESSION_START(); antes de atribuir um valor ou exibir o valor.

 

Resumindo, se você tem em seu arquivo $_SESSION['NomeVariavelQualquer'] você tem que colocar o comando SESSION_START();

 

Experimente utilizar o código abaixo:

Arquivo login.php

<?php

include("admin/bd/config.php");

//Aqui você já pode iniciar a iniciar sua SESSÃO.

SESSION_START();

//O comando !empty significa DIFERENTE DE VAZIO

if (!empty($_POST['username']) and !empty($_POST['password'])) {

    $_SESSION['username'] = $_POST['username'];

    $_SESSION['password'] = $_POST['password'];

 

    $sql = "SELECT username FROM authme WHERE username = '".$_SESSION['username']."' and password = '".$_SESSION['password']."'");

    //Dentro do IF abaixo você executa o comando e se ele retornar alguma coisa, 1 registro, então movemos o nome do usuário para a variável de SESSÃO ADMIN se ele não encontrar então ele é um usuário normal, seguindo a sua lógica do num == 1 e percorre até encontrar o password, mas no exemplo que dei basta no mesmo select você buscar pelas duas informações.

    if ($resultado = mysql_fetch_assoc(mysql_query($sql))) {

       $_SESSION['adm'] = $resultado['username'];

        header("Location: admin/index.php");

        exit();

    else {

        $_SESSION['nor'] = $_POST['username'];

        header("Location: index.php");

        exit();

    }

} else {

    header("Location: index.php?usuario=vazio&password=vazio");

    exit();

}

 

//Feito tudo isso, coloque dentro do seu arquivo INDEX.php o comando

 

SESSION_START();

if (!empty($_SESSION['adm'])) {

    echo "Bem vindo Sr. ".$_SESSION['adm'];

} else {

    echo "O usuário não é um administrador";

}

 

 

if (!empty($_SESSION['nor'])) {

    echo "Bem vindo usuário: ".$_SESSION['nor'];

} else {

    echo "O usuário não cadastrado em nossa base de dados";

}

 

Veja se funciona.

 

Se a minha resposta for útil não esqueça de agradecer e votar positivo.

 

Espero ter ajudado de alguma forma.

 

 

Att
Felipe Guedes Coutinho

Deu certo como eu marco como resolvido?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By david2007
      Endpointer Framework é um Framework PHP para construção de APIs REST com Programação Procedural.
       
      Todas as regras de negócio são implementadas como Stored Procedures.
       
      http://endpointer.com
       
      Endpointer Framework é Código Aberto sob a licença MIT

    • By david2007
      Endpointer Framework é um Framework PHP para construção de APIs REST com Programação Procedural.
       
      http://endpointer.com
       
      Endpointer Framework é Código Aberto sob a licença MIT

    • By david2007
      Endpointer Framework é um Framework PHP para construção de APIs REST com Programação Procedural.
       
      http://endpointer.com
       
      Endpointer Framework é Código Aberto sob a licença MIT

    • By david2007
      Endpointer Framework é um Framework PHP para construção de APIs REST com Programação Procedural.
       
      http://endpointer.com
       
      Endpointer Framework é Código Aberto sob a licença MIT
       

    • By Elisame Araújo
      Seguinte, estou criando uma página dinâmica para um site de clã de jogos e essa página vai listar todos os membros. Até aí, tudo bem, eu consegui buscar dentro do banco de dados os nomes dos membros, mas, quando preciso com que uma div que abre um lightbox com resumo do perfil do membro, acaba retornando apenas o resultado referente a primeira ID, no caso a 1. O que rola é todos os membros, ficam com a mesma informação de resumo curto e UF, por exemplo, mesmo que no banco de dados isso seja individual. Para explicar melhor:
       
      Este código, busca os membros e algumas colunas no banco de dados.
      $conecta = mysqli_connect($servidor,$usuario,$senha,$banco); if(mysqli_connect_errno()) { die("Falha ao se conectar com: " . mysqli_connect_errno()); } //Consulta Membros $membros = "SELECT m.id, m.nick, m.estado, m.idstatus, m.resumocurto, m.resumolongo, m.data_cadastro, m.canalyt, assalto, medico, suporte, atirador, pilotoaviao, tanque, pilotoheli "; $membros .= " FROM membros as m "; $membros .= " JOIN afinclasse as af "; $membros .= " on m.id = af.id "; $membros .= " where af.id and m.id "; $resultados = mysqli_query($conecta,$membros); if(!$resultados) { die("Falha na consulta de dados. A coluna da tabela selecionada não existe ou seu nome está incorreto."); } ?> Que em seguida são exibidos dentro de:
      <h3 style="margin-top: 25px;"><strong>Membros Ativos</strong></h3> <div class="agileinfo-team-grids"> <?php while($membros = mysqli_fetch_assoc($resultados)) { ?> <!--- INÍCIO----> <div class="col-md-3 wthree-team-grid usuario-foto"> <img src="images/profile-pic/pic-temp.png" alt="" /> <h4><a href="perfil.php?usuario=<?php echo $membros['nick'] ?>"><?php echo $membros['nick'] ?></a> #<?php echo $membros['id'] ?><br> <span class="badge-membro">Membro</span> </h4> <div class="badge alinhamento-mais"><a href="#" data-toggle="modal" data-target="#adbr_killer">Resumo</a></div> </div> <div class="modal about-modal fade" id="adbr_killer" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title">Resumo Rápido</h4> </div> <div class="modal-body"> <div class="agileits-w3layouts-info"> <p><strong>Apresentação Curta:</strong> <?php echo $membros["resumocurto"] ?></p> <p><strong>Estado:</strong> <?php echo $membros['estado'] ?></p> <p><strong>Classe Preferida:</strong> Médico <img src="images/classes/medic.png" width="26" class="alinhamento-estado"></p> <p><strong>Jogos:</strong> <div class="Qtip"> <img src="images/jogos/bf2.png" width="26" class="alinhamento-estado"> <span class="Qtiptext">Battlefield 2</span> </div> <div class="Qtip"> <img src="images/jogos/bf3.png" width="26" class="alinhamento-estado"> <span class="Qtiptext">Battlefield 3</span> </div> <div class="Qtip"> <img src="images/jogos/bf4.png" width="26" class="alinhamento-estado"> <span class="Qtiptext">Battlefield 4</span> </div> <div class="Qtip"> <img src="images/jogos/bf1.png" width="26" class="alinhamento-estado"> <span class="Qtiptext">Battlefield 1</span> </div> <div class="Qtip"> <img src="images/jogos/bfv.png" width="26" class="alinhamento-estado"> <span class="Qtiptext">Battlefield V</span> </div> </p> <p><strong>Patente na Platoon:</strong> Cabo</p> </div> </div> </div> </div> </div> <!--- FIM ----> </div> Porém, quando dentro deste código em específico (abaixo), no caso, que abre um lightbox, ele repete os dados da ID 1 do BD, não seguindo, pra ID 2, ID 3, etc.
      No caso são as variáveis "resumocurto" e "estado" que se repetem igualmente para todos.
      <div class="modal about-modal fade" id="adbr_killer" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">Resumo Rápido</h4> </div> <div class="modal-body"> <div class="agileits-w3layouts-info"> <p><strong>Apresentação Curta:</strong> <?php echo $membros["resumocurto"] ?></p> <p><strong>Estado:</strong> <?php echo $membros['estado'] ?></p> <p><strong>Classe Preferida:</strong> Médico <img src="images/classes/medic.png" width="26" class="alinhamento-estado"></p> <p><strong>Jogos:</strong> "Lista de Jogos"</p> <p><strong>Patente na Platoon:</strong> Cabo</p> O mais engraçado é, quando eu faço essa busca dentro de uma lista <ul> ou <ol>, ele retorna os dados normalmente para cada perfil.
      <ul> <li>Nick: <?php echo $membros["nick"] ?> <strong>#<?php echo $membros["id"] ?></strong></li> <li>Ativo: <?php echo $membros["idstatus"] ?></li> <li>Estado: <?php echo $membros["estado"] ?></li> <li>Resumo Curto: <?php echo $membros["resumocurto"] ?></li> <li>Resumo Longo: <?php echo $membros["resumolongo"] ?></li> <li>Assalto: <?php echo $membros["assalto"] ?></li> <li>Médico: <?php echo $membros["medico"] ?></li> <li>Suporte: <?php echo $membros["suporte"] ?></li> <li>Atirador: <?php echo $membros["atirador"] ?></li> <li>Piloto de Avião: <?php echo $membros["pilotoaviao"] ?></li> <li>Tanque: <?php echo $membros["tanque"] ?></li> <li>Piloto de Heli: <?php echo $membros["pilotoheli"] ?></li> <li>Canal Youtube: <a href="<?php echo $membros['canalyt'] ?>" target="_blank">Link</a></li> <li>Adicionado Em: <?php echo date('d-m-Y / H:i:s', strtotime($membros['data_cadastro'])) ?></li> </ul> Existe alguma limitação no PHP para ele exibir dados numa DIV que abre a partir de um lightbox? Porque ele só retorna esses dados normalmente através de uma lista? O que eu preciso modificar no código em si para fazer com que ele apareça normalmente?
       
      Não sei se ficou claro...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.