Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RafsF

[Resolvido] Exibindo nome do usuário logado

Recommended Posts

Sei que já tem uns tópicos antigos aqui no fórum a respeito deste assunto, porém nenhum me ajudou...

 

Comecei com o PHP agora e estou desenvolvendo um sistema de login apenas para testes.

 

Esta é a parte que está fazendo a autenticação do usuário (userauthentication.php):

<?php
include "conexao.php";
?>

<html>
<head>
<meta charset="UTF-8">
<title>Authentication</title>
<script type="text/javascript">
function loginsuccessfully() {
	setTimeout("window.location='painel.php'", 0);
}

function loginfailed() {
	setTimeout("window.location='index.html#mLogin'", 0);
}

</script>
</head>

<body>

<?php
$email=$_POST['email'];
$senha=$_POST['senha'];
$sql = mysql_query ("SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'") or die(mysql_error());
$row = mysql_num_rows($sql);
if ($row > 0) {
	session_start();
	$_SESSION['email']=$_POST['email'];
	$_SESSION['senha']=$_POST['senha'];
	echo "<script>alert('Você foi autenticado com sucesso. Redirecionando...');</script>";
	echo "<script>loginsuccessfully()</script>";
}
    else {
    	echo "<script>alert('Usuário ou senha incorretos. Tente novamente.');</script>";
    	echo "<script>loginfailed()</script>";
    }
?>

</body>
</html>

 

E o navbar (index.php) do meu site está com esta estrutura: 

<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <a class="navbar-brand" href="index.html#home"><img src="imagens/logo.png" width="75" height="25"></img></a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav">
        <li class="hvr-underline-from-center"><a href="#home" name="modal"><i class="fa fa-home fa-lg" aria-hidden="true"></i> <span class="textomenu">Início</span></font></a></li>
        <li class="hvr-underline-from-center"><a href="#quemsomos"><i class="fa fa-users fa-lg" aria-hidden="true"></i> <span class="textomenu">Quem Somos</a></li>
        <li class="hvr-underline-from-center"><a href="#catalogopecas"><i class="fa fa-list-alt fa-lg" aria-hidden="true"></i> <span class="textomenu">Catálogo de Peças</a></li>
        <li class="hvr-underline-from-center"><a href="#agendamento"><i class="fa fa-clock-o fa-lg" aria-hidden="true"></i> <span class="textomenu">Agendamento de Horários</a></li>
        <li class="hvr-underline-from-center"><a href=""><i class="fa fa-handshake-o fa-lg"></i> <span class="textomenu">Parceiros</a></li>
        <li class="hvr-underline-from-center"><a href="#contato"><i class="fa fa-envelope fa-lg" aria-hidden="true"></i> <span class="textomenu">Contato</a></li>
        <li class="hvr-underline-from-center"><a href="#"><i class="fa fa-question fa-lg" aria-hidden="true"></i> <span class="textomenu">F.A.Q</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal"><a href="#mLogin"><i class="fa fa-user fa-lg" aria-hidden="true"></i> <span class="textomenu">Minha Conta</a></li>
      </ul>
    </div>
  </div>
</nav>

 

Eu gostaria que quando o usuário fizesse o login no site, sumisse a <li> do Minha Conta e aparecesse o usuário da pessoa logada.

 

Então ao invés de ficar "Minha Conta" no navbar, ficaria "Bem vindo $usuario!".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assumindo que $usuario existe (não está definido no excerto que mostras), experimenta algo assim:

<ul class="nav navbar-nav navbar-right">
   <?php if (!isset($usuario)): ?>
	 <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal"><a href="#mLogin"><i class="fa fa-user fa-lg" aria-hidden="true"></i> <span class="textomenu">Minha Conta</a></li>
   <?php else: ?>
	 <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal">Bem-vindo <?php echo $usuario; ?></li>
   <?php endif; ?>
</ul>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 10/11/2017 at 07:19, wootzor disse:

Assumindo que $usuario existe (não está definido no excerto que mostras), experimenta algo assim:


<ul class="nav navbar-nav navbar-right">
   <?php if (!isset($usuario)): ?>
	 <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal"><a href="#mLogin"><i class="fa fa-user fa-lg" aria-hidden="true"></i> <span class="textomenu">Minha Conta</a></li>
   <?php else: ?>
	 <li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal">Bem-vindo <?php echo $usuario; ?></li>
   <?php endif; ?>
</ul>

 

 

Fiz algumas alterações com base no que você disse, e deu certo!

 

Ficou assim o código:

<ul class="nav navbar-nav navbar-right">
  <?php session_start(); if (!isset($_SESSION["email"])): ?>
	<li data-toggle="modal" data-target="#mLogin" class="hvr-underline-reveal"><a href="#mLogin"><i class="fa fa-user fa-lg" aria-hidden="true"></i> <span class="textomenu">Minha Conta</a></li>
  <?php else: ?>
   <li><span class="texto_menu"> Bem-vindo, <?php echo $_SESSION['email']; ?>! &nbsp&nbsp <a href="logout.php"><i class="fa fa-sign-out fa-lg" aria-hidden="true"></i>Sair</a></span></li>
  <?php endif; ?>
</ul>

Ali estou puxando o email da sessão somente para testes, mas consigo puxar o usuário também.

 

Imagino que não seja nem um pouco seguro desta forma, porém, já consegui entender um pouco a lógica. Muito obrigado!!

Em 10/11/2017 at 08:58, Matheus Tavares disse:

Complementando o que o @wootzor já disse, creio que o conteúdo desse tópico também pode te ajudar:

 

 

Vou dar uma olhada neste tópico... Estou fazendo o painel do usuário agora, será muito útil! Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.