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 proflupin
      criei uma página que busca alguns dados no BD e retornar em forma de collapse. Como existe um WHILE executando o collapse, ele sempre o executa com o mesmo ID, ou seja, se eu tiver 20 collapse, todos vão ser abertos ao clicar no primeiro.
      A dúvida é, como eu posso criar um novo ID para o collapse a cada loop do While?
      Código:
       
      <?php while($result_inners = mysqli_fetch_object($result_inner)){ ?> <div class="card-footer "> <a class="text-muted" data-toggle="collapse" href="#collapse1" role="button" aria-expanded="false" aria-controls="collapseExample"> <i class="fas fa-comment-alt"></i> <?php if(!empty($result_inners->nome_completo)) echo $result_inners->nome_completo . " respondeu..."; else echo "Aguardando resposta do técnico." ?> </a> <div class="collapse " id="collapse1"> <div class="bg-white mt-2 p-2"> <?php echo nl2br($result_inners->mensagem) ?> </div> <span style="color: #6c757d; float: right;"><?php echo date('d/m/Y H:i', strtotime($result_inners->data_hora)) ?></span> </div> </div> <?php } ?>  
    • By elielton
      Preciso usar um regex 
      qual expressão reconhece: 03-190325
       
       
      Alguém pode me ajudar?
       
       
    • By Guilherme Scarpatto
      <p>Escolha a categoria: <select name="categoria"> <option></option> <option value="v1">Conhecimentos gerais</option> <option value="v2">Português</option> <option value="v3">Matemática</option> <option value="v4">História</option> <option value="v5">Geografia</option> <option value="v6">Sociologia</option> <option value="v7">Tecnologia</option> <option value="v8">Biologia</option> <option value="v9">Programação</option> <option value="v10">Banco de dados</option> </select>  
    • By jeandelima
      Olá pessoal, estava querendo saber se podem me ajudar com uma pequena dúvida que surgiu há poucos dias.
       
      Estou com problemas pra importar um banco de dados pra o usar no meu servidor local (xampp). O banco de dados foi exportado do site de um cliente, e lá no server eles usam o mysql. Instalei a versão mais recente do xampp no meu pc, e quando fui importar o banco pra poder começar os trabalhos, deu vários erros de sintaxe. Daí fiz umas pesquisas e encontrei alguns materiais que mencionavam que o xampp agora usa o mariadb, e ele não é 100% compatível com mysql.
       
      Estou há um bom tempo sem mexer com programação e também sem me atualizar das coisas, e gostaria de saber se alguém sabe a partir de qual versão do xampp eles passaram a usar o mariadb. Eu já pesquisei mas não obtiver sucesso. E instalar e desinstalar inúmeras versões é algo trabalhoso e cansativo demais. Alguém poderia me ajudar?
       
      Desde já, muito obrigado.
       
      PS.: Por ser novo aqui no forum, e por não frequentar forum há muito tempo, acho que acabei postando no lugar errado. Peço perdão aos adms.
    • By Ygor Silva
      Boa tarde gente. Tenho meu site em Mobirise, pra pegar leads. 
      Ao cliente clicar em enviar ele só mostra a mensagem de "obrigado, aguarde nosso contato". 
      Eu gostaria que em vez disto, ele encaminhasse ele pra página de obrigado.
      Já tentei um mente de coisas mas não funcionou.
       
      Segue abaixo o código. Este meu formulário é formoid.
      <div data-form-type="formoid">                     <!---Formbuilder Form--->                     <form action="https://mobirise.com/" method="POST" class="mbr-form form-with-styler" data-form-title="Mobirise Form"><input type="hidden" name="email" data-form-email="true" value="A6LDZwZh8SsHY2SXE5G0uDeobTt+vGAPyztLTpaFnJ3YS523L+3ekb+dfC0ljSO2ENKcG2x7MzCrFsvX6BsE84UN+iQwUvASww4aTuqS7DVv4QO8axCqYvnhYxsAOEpX">                         <div class="row">                             <div hidden="hidden" data-form-alert="" class="alert alert-success col-12">Obrigado por deixar seu contato. Em breve ligaremos pra você.</div>                             <div hidden="hidden" data-form-alert-danger="" class="alert alert-danger col-12">                             </div>                         </div>                         <div class="dragArea">                             <div class="col-md-6  form-group" data-for="name">                                 <input type="text" name="name" placeholder="Seu nome" data-form-field="Name" required="required" class="form-control input display-7" id="name-form4-d">                             </div>                             <div class="col-md-6  form-group" data-for="phone">                                 <input type="text" name="phone" placeholder="Telefone" data-form-field="Phone" required="required" class="form-control input display-7" id="phone-form4-d">                             </div>                             <div data-for="email" class="col-md-12  form-group">                                 <input type="text" name="email" placeholder="E-mail" data-form-field="Email" class="form-control input display-7" required="required" id="email-form4-d">                             </div>                                                          <div class="col-md-12 input-group-btn  mt-2 align-center"><button type="submit" class="btn btn-primary btn-form display-4" href="obrigado.html#header3-2j">ENVIAR</button></div>                         </div>                     </form><!---Formbuilder Form--->                 </div>  
×

Important Information

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