Ir para conteúdo
Fórum Script Brasil
  • 0

Codigo de login com PHP


darkvills

Pergunta

Hey guys.

Venho acompanhando o forum a um tempo e resolvi criar a coragem de postar, será que alguém consegue me dar umas dicas de como melhorar o meu código? Onde eu acertei? Onde errei? Se fiz algo extremamente errado.

 

<!DOCTYPE html>
<html lang="pt_BR">

<head>
    <!--
        Sistema de autenticação de usuários usando um email e uma senha
        A senha foi cadastradada no banco de dados usando a função password_hash
        Desenvolvido por Fernando Dias - 23/02/2021
    -->
    <?php
        include_once("assets/head.php");
        $login = false;
        $erros = false;    

        if($_SERVER["REQUEST_METHOD"] == "POST"){
            include_once('./conecta.php');
            
            $email = mysqli_escape_string($conecta, $_POST['email']);
            $senha = mysqli_escape_string($conecta, $_POST['senha']);

            //Query de consulta ao banco de dados
            $query = "SELECT * FROM usuarios WHERE email = '$email'";
            $resultado = mysqli_query($conecta, $query);
            $num = mysqli_num_rows($resultado);
            if($num == 1){
                while($row = mysqli_fetch_assoc($resultado)){
                    if(password_verify($senha, $row["senha"])){
                        $login = true;
                        session_start();
                        if($row['grupo'] == 0){
                                header('Location: ./admin.php');
                            } else if($row['grupo'] == 1){
                                header('Location: ./plantonista.php');
                            } else if($row['grupo'] == 2){
                                header('Location: ./monitora.php');
                            }
                    }                      
                }
            }
        }
        
    ?>
</head>

<body>

    <div class="navegacao" style="overflow-y:hidden;">
        <form class="login" method="POST" action="./index.php">
            <div class="form-group row">
                <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
                <div class="col-sm-10">
                    <input type="email" name="email" class="form-control" id="inputEmail3" placeholder="Email">
                </div>
            </div>
            <div class="form-group row">
                <label for="inputPassword3" class="col-sm-2 col-form-label">Senha</label>
                <div class="col-sm-10">
                    <input type="password" name="senha" class="form-control" id="inputPassword3" placeholder="Senha">
                </div>
            </div>
            <div class="form-group row">
                <div class="col-sm-12">
                    <button type="submit" class="btn btn-primary btn-lg btn-block">Entrar</button>
                </div>
            </div>
        </form>
    </div>
</body>

</html>

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Coloque o trecho em php que contém lógica, antes de qualquer coisa.
Em outras palavras:
A lógica(o trecho server side - q acontece no servidor), deve acontecer antes de qualquer coisa ser entregue ao browser: client side

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...