Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // a parte de banco de dados foi criada no phpmyadmin.
- Serão 4 arquivos, index.php, home.php, logout.php, db_connect.php
- ///////////// index.PHP ////////////////////
- <?php
- //Conexão com banco de dados,
- require_once 'db_connect.php'; // Pega as configurações do arquivo de conexão com banco de dados
- //Sessão
- session_start();
- // se for enviado alguam ação com name btn-entrar pelo metodo post, n ocaso, se o button do formulari ofor clicado.
- if (isset($_POST['btn-entrar'])) :
- $erros = array(); // array de erros
- $login = mysqli_escape_string($connect, $_POST['login']); // função para filtrar os valores do proprio mysqli, $connect é a variavel de conexão do banco la do arquivo db_connect.
- $senha = mysqli_escape_string($connect, $_POST['senha']);
- if (empty($login) or empty($senha)) : // se o campo de login ou o campo de senha estiver vazio,
- $erros[] = "<li>O campo de login e senha precisa ser preenchidos</li>"; // adicione o seguinte erro ao arrays de erros
- else :
- $sql = "SELECT login FROM usuarios WHERE login = '$login'"; //comando sql para consultar o login
- $resultado = mysqli_query($connect, $sql); // conectar essa consulta ao banco de dados e armazena o numero de registros
- if (mysqli_num_rows($resultado) > 0) : // se o numero de linhas da variavel resultado acima for maior que 0, significa que existe registro
- $senha = md5($senha); // devemos criptografar a senha para fazer a consulta ja q ela foi inserida criptografada
- $sql = "SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'"; // mostre todos arquivos da tabela usuarios onde a coluna login seja igual ao login passado pela variavel e a coluna senha tenha uma senha igual a passada pelo usuario na tela de login.
- $resultado = mysqli_query($connect, $sql); // execute a consulta e armazene nessa variavel,
- mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
- if (mysqli_num_rows($resultado) == 1) : // se houver um resultado.
- $dados = mysqli_fetch_array($resultado); // converte o resultado em um array e atribui a variavel dados
- mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
- $_SESSION['logado'] = false; // vai ser usado na verificação para adentrar o link restrito, ela so entrara se existir a SESSION logado.
- $_SESSION['id_usuario'] = $dados['id']; // pega os dados retornados de $dados, e atribui a se~ssao id_usuario, o id vindo de $dados.
- header('Location: home.php'); // redirecione o usuario para esta pagina , header é a funcao para redirecionar.
- else :
- $erros[] = "Usuario e senha não confere";
- endif;
- else : // caso não haja registro, significa que, nao existe esse usuario
- $erros[] = "<li>Usuario inexistente</li>";
- endif;
- endif;
- endif;
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <h1>Login</h1>
- <hr>
- <?php
- if (!empty($erros)) :
- foreach ($erros as $erro) :
- echo $erro;
- endforeach;
- endif;
- ?>
- <form action="" method="POST">
- Login: <input type="text" name="login"> <br>
- Senha <input type="password" name="senha"> <br>
- <button type="submit" name="btn-entrar"> Entrar </button>
- </form>
- </body>
- </html>
- ///////////// home.PHP ////////////////////
- <?php
- //Conexão com banco de dados,
- require_once 'db_connect.php'; // Pega registros de banco de dados.
- //Sessão
- session_start();
- //VERIFICAÇÃO -> serve para não deixar acessar pelo url
- if (!isset($_SESSION['logado'] ) ) : // se não existir a seção logado,
- header('Location: index.php'); // redirecione ao index.php
- endif;
- //dados
- $id = $_SESSION['id_usuario']; // variavel recebe o id vindo da seção
- $sql = "SELECT * FROM usuarios WHERE id = '$id'"; // pega todos os dados da tabela usuario onde o id for igual ao da variavel
- $resultado = mysqli_query($connect, $sql); //execute esse sql no banco
- $dados = mysqli_fetch_array($resultado); // transforme os dados vindos em um array para podermos usa-los
- mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Pagina restrita</title>
- </head>
- <body>
- <!-- Podemso utilizar os dados advindos da forma a seguir-->
- <h1> OLA <?php echo $dados['nome']; ?></h1>
- <a href="logout.php">SAIR</a>
- </body>
- </html>
- //////////////// logout.php //////////////////////
- <?php
- // tela de logout,
- session_start(); // inicia a seção
- session_unset(); // limpa a seção
- session_destroy(); // encerra a seção
- header('Location:index.php'); // redireciona para io index de volta
- //////////// db_connect.php ////////////////
- <?php
- //CONEXÃO com banco de dados
- $servername = "localhost"; // servidor armazenado
- $username = "gleidson"; // usuario do mysql
- $password = "37649035"; // senha do mysql
- $db_name = "sistemalogin"; //nome do banco de dados
- //funcao para conectar com o banco de dados
- $connect = mysqli_connect($servername,$username,$password,$db_name);
- // verifica se há erros na conexão
- if(mysqli_connect_errno()):
- echo "Falha ao conectar com banco de dados.".mysqli_connect_error();
- endif;
Advertisement
Add Comment
Please, Sign In to add comment