Jump to content
Fórum Script Brasil
  • 0

Codigo de login com PHP


Question

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 to post
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148955
    • Total Posts
      645010
×
×
  • Create New...