Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não estou conseguindo logar

Boa tarde, não estou conseguindo logar no sistema e o pior, não da nenhum erro, ja inserir o email e a senha no banco de dados, no sistema aparece a mensagem de logado, so que não têm informação nenhum de: logado como paulo@gmail.com

login.php

<?php include("conecta.php");
 include("banco-usuario.php");
 include("logica-usuario.php");

 $usario = buscaUsuario($conexao, $_POST['email'], $_POST['senha']);

 if($usario == NULL){
     header("Location: index.php?login=0");
 } else {
    logaUsuario($usuario["email"]);
    header("Location: index.php?login=1");
 }
 die();

cabecalho.php

<?php include ("logica-usuario.php"); ?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Minha Loja</title>
        <link href="css/bootstrap.css" rel="stylesheet">
        <link href="css/loja.css" rel="stylesheet">
    </head>
    <body>

        <div class="navbar navbar-inverse navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand" href="index.php">Minha Loja</a>
                </div>
                <div>
                    <ul class="nav navbar-nav">
                        <li><a href="produto-formulario.php">Adiciona Produto</a></li>
                        <li><a href="produto-lista.php">Produtos</a></li>
                        <li><a href="sobre.php">Sobre</a></li>
                    </ul>
                </div>
                <div class="navbar-right" style="padding-top: 20px;">
                    <?php if(usuarioEstaLogado()) { ?>
                    <p class="text-success" style="color: #989898 ">Você está logado como <?= usarioLogado() ?>.
                        <a href="logout.php">Deslogar</a>
                    </p> 
                    <?php } ?>

                </div>
            </div>
        </div>


        <div class="container">
            <div class="principal">

index.php

<?php include("cabecalho.php"); ?>

<?php if (isset($_GET["logout"]) && $_GET["logout"] == true) { ?>
    <p class="alert-success">Deslogado</p> 
<?php } ?>
<?php if (isset($_GET["login"]) && $_GET["login"] == true) { ?>
    <p class="alert-success">Logado</p> 
<?php } ?>
<?php if (isset($_GET["login"]) && $_GET["login"] == false) { ?>
    <p class="alert-danger">Email ou senha invalida!</p> 
<?php } ?>
<?php if (isset($_GET["falhaDeSeguranca"]) && $_GET["falhaDeSeguranca"] == true) { ?>
    <p class="alert-danger">Você não têm permissão a essa funcionalidade!</p> 
<?php } ?>



<h1>Bem vindo!</h1>
<?php if (!usuarioEstaLogado()) { ?>
    <h2>Login</h2>
    <form action="login.php" method="post">
        <table class="table">
            <tr>
                <td>Email</td>
                <td><input class="form-control" type="email" name="email"></td>
            </tr>
            <tr>
                <td>Senha</td>
                <td><input class="form-control" type="password" name="senha"></td>
            </tr>
            <tr>
                <td><button class="btn btn-primary" >Logar</button></td>
            </tr>
        </table>
    </form>
<?php } ?>
<?php include("rodape.php"); ?>

logica-usuario.php

<?php
session_start();
function usuarioEstaLogado() {
    return isset($_SESSION["usuario_logado"]);
}

function verificaUsuario() {
    if (!usuarioEstaLogado()) {
        header("Location: index.php?falhaDeSeguranca=true");
        die();
    }
}

function usarioLogado(){
    return $_SESSION["usuario_logado"];
}

function logaUsuario($email){
    $_SESSION["usuario_logado"] = $email;
}

function logout(){
    session_destroy();
}

Agradeço desde já

3 respostas

Paulo,

Eu acho que você se confundiu um pouco no código desse capítulo. Não sei se você tentou mudar alguma coisa nos códigos que explicamos, mas tem código aí que não tem no curso.

Não aparece o email que você se logou, pois em nenhum momento você recuperou na index.php a variável $_SESSION["usuario_logado"] que contém o email da pessoa autenticada.

Olá Arthur, a idéia é colocar o a mensagem de logado como paulo.lavarini@gmail.com dentro do cabeçalho, mas vou da uma revisada nesses códigos que talvez seja isso mesmo que vc falou.

Valeu

solução!

Consegui achar o problema Arthur, as variaveis estavam com o nome errado, era por isso que não estava conseguindo achar o login

Valeu