Help logging in to the login system, dropping the 2 form's

0

Well, I want to leave a login system that after login is validated when it goes to the login form page it appears that it is logged in and not the login form: ex:

pimpslogonthesamepagesumisseesseform:

phpcode:

<?phpsession_start();require'init.php';?><html><head><metacharset="utf-8">
<title>x1</title>
<link rel="stylesheet" href="css/css.css">
</head>

<body>

<header>
<div id="logobuscar">
<div id="wrapperlogo">
<div id="logo"><img src="images/logosecure.png" alt="SecureStore" height="120" width="120"></div>
<div id="buscar">   <?php
                $sessao = $_SESSION['pedido'];
                $consulta = $pdo->prepare("SELECT * FROM carrinho_temporario WHERE temporario_sessao =:ses");
                $consulta -> bindValue(':ses', $sessao);
                $consulta -> execute();
                $linhas = $consulta -> rowCount();
                ?>
                <p class="text-right "><a href="carrinho.php" class="color-white bgcolor-red font-text-light font-weight-heavy car_show">Carrinho(<?= $linhas ?>)</a></p><br>
                <h1 class="color-white text-center font-text-hard-two font-weight-heavy link-bgcolor-black">PRODUTOS</h1>
</form></div>
</div>
</div>  
<div id="mainmenu">
<div id="wrappermenu">
<nav class="menu">
<ul class="x1">
<a href="#"><li>Inicio</li></a>
<a href="#"><li>Sobre</li></a>
<a href="#"><li>Loja</li></a>
<a href="#"><li>Contato</li></a>
</ul>

<ul class="x2">
<a href="#"><li>Cadastrar</li></a>
<a href="logar.php"><li>Login</li></a>
</ul>
</nav>
</div>
</div>
</header>
    <div id="wrapperleft"></div>

    <div id="wrapper">
           <form action="login.php" method="post">
            <label for="email">Email: </label>
            <br>
            <input type="text" name="email" id="email">

            <br><br>

            <label for="password">Senha: </label>
            <br>
            <input type="password" name="password" id="password">

            <br><br>

            <input type="submit" value="Entrar">
        </form>
    </div>

    <div id="wrapperright"></div>

<footer>
</footer>
</body>
</html>

Validation code:

<?php

// inclui o arquivo de inicialização
require 'init.php';


// resgata variáveis do formulário
$email = isset($_POST['email']) ? $_POST['email'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';

if (empty($email) || empty($password))
{
    echo "Informe login e senha";
    exit;
}

// cria o hash da senha
$passwordHash = make_hash($password);

$PDO = db_connect();

$sql = "SELECT id, nome, adm FROM users WHERE login = :email AND password = :password";
$stmt = $PDO->prepare($sql);

$stmt->bindParam(':email', $email);
$stmt->bindParam(':password', $passwordHash);

$stmt->execute();

$users = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (count($users) <= 0)
{
    echo "login ou senha incorretos";
    exit;
}

// pega o primeiro usuário
$user = $users[0];

session_start();
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = $user['id'];
$_SESSION['user_name'] = $user['name'];
$dados=mysqli_fetch_assoc($sql);
if($dados['adm'] == '1') header("Location: administrativo.php");
header('Location: logar.php');
    
asked by anonymous 27.09.2018 / 04:03

1 answer

2

Just check if you are not logged in to submit the form

<?php
if ($_SESSION['logged_in'] != true){
?>


       <form action="login.php" method="post">
        <label for="email">Email: </label>
        <br>
        <input type="text" name="email" id="email">

        <br><br>

        <label for="password">Senha: </label>
        <br>
        <input type="password" name="password" id="password">

        <br><br>

        <input type="submit" value="Entrar">
    </form>
</div>
<?php
}
?>

other way

create a session at login $_SESSION['esconder'] = "display: none;";

and in the form's form tag

<form action="login.php" method="post" style="<?php echo $_SESSION['esconder'] ?>">
  

You should do this if the login is valid

addendum:

<?php
if ($_SESSION['logged_in'] != true){

    echo '<a href="logar.php"><li>Login</li></a>';

}else{

    echo $_SESSION['user_name'];
}
?>
    
27.09.2018 / 05:13