How to remove the login button after starting Session in php Pdo?

Asked

Viewed 81 times

-1

I wanted to know how to shoot the login and put one welcome after login:

//codigo q faz o login
$sql = "select id, nome, email, senha, ativo
                from usuario
                where email = ? 
                and ativo = 'S'
                limit 1";
            //preparar o sql para execução
            $consulta = $pdo->prepare($sql);
            //passar o parametro
            $consulta->bindParam(1, $email);
            //executar
            $consulta->execute();

            //recuperar os dados da consulta
            $dados = $consulta->fetch(PDO::FETCH_OBJ);

            if ( isset ( $dados->id ) ) {
                //verificar se trouxe algum resultado

                if ( !password_verify( $senha, $dados->senha ) ) {
                    //verificando se a senha não é verdadeira
                    $msg = "Senha inválida";
                    mensagem($msg);
                } else {

                    //guardar alguns dados na sessao
                    $_SESSION["tcc"] = array(
                        "id"=>$dados->id,
                        "email"=>$dados->email

                    );

                    //print_r( $_SESSION["hqs"] );

                    //redirecionar a tela para o home
                    //com javascript
                    echo "<script>location.href='paginas/homes'</script>";
                    exit;
                }


            } else {
                //se nao trouxe resultado
                $msg = "Usuário inexistente ou desativado";
                mensagem($msg);
            }
//codigo q quero substituit
<li class="menu-btn">
  a href="#login" data-toggle="modal" data-target="#login" class="template-btn">login</a>                           
 </li> 

3 answers

0

You must check if the user is logged in, if he is, you create a function.

$logado = $_SESSION["logado"];

if ($logado != "") {

    // O usuário já criou uma sessão
    echo "<script>
        var button = document.getElementById('id_do_botao');
        button.parentNode.removeChild(button);
    </script>";
    echo "Olá " + $logado;
} else {

    // O usuário não está logado
    echo "Faça o login";
    $_POST["meu_botao_nome"] {
        // Chamar a função para criar a sessão de login
    }
}

0

According to your own code:

//guardar alguns dados na sessao
$_SESSION["tcc"] = array(
   "id"=>$dados->id,
   "email"=>$dados->email
);

This implicitly indicates that this session will only exist when the user is logged in.


Therefore, it would be enough to create a if else comparing the existence of this session.

// Se não existir sessão:
if(!isset($_SESSION["tcc"])){
?>
 <li class="menu-btn">
   <a href="#login" data-toggle="modal" data-target="#login" class="template-btn">login</a>                           
 </li> 
<?
// Se existir a sessão:
} else {
?>
 <li class="menu-btn">Conectado!</li> 
<? } ?>

0


if(isset($_SESSION['tcc'])) {
    if(!empty($_SESSION['tcc'])) {
        echo 'Bem Vindo!';
    }
}else {
    echo '<a href="login.php">Fazer Login</a>';
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.