Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!".Complementando o que o @wootzor já disse, creio que o conteúdo desse tópico também pode te ajudar:
>
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']; ?>!    <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!
Assumindo que $usuario existe (não está definido no excerto que mostras), experimenta algo assim: