Gleidson_21

Sistema de login

Jun 25th, 2021
433
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.64 KB | None | 0 0
  1. // a parte de banco de dados foi criada no phpmyadmin.
  2.  
  3. Serão 4 arquivos, index.php, home.php, logout.php, db_connect.php
  4. /////////////   index.PHP ////////////////////
  5. <?php
  6.  
  7. //Conexão com banco de dados,
  8. require_once 'db_connect.php'; // Pega as configurações do arquivo de conexão com banco de dados
  9.  
  10. //Sessão
  11. session_start();
  12.  
  13. // se for enviado alguam ação com name btn-entrar pelo metodo post, n ocaso, se o button do formulari ofor clicado.
  14. if (isset($_POST['btn-entrar'])) :
  15.  
  16.   $erros = array(); // array de erros
  17.   $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.
  18.   $senha = mysqli_escape_string($connect, $_POST['senha']);
  19.  
  20.   if (empty($login) or empty($senha)) : // se o campo de login ou o campo de senha estiver vazio,
  21.     $erros[] = "<li>O campo de login e senha precisa ser preenchidos</li>"; // adicione o seguinte erro ao arrays de erros
  22.  
  23.   else :
  24.     $sql = "SELECT login FROM usuarios WHERE login = '$login'"; //comando sql para consultar o login
  25.     $resultado = mysqli_query($connect, $sql); // conectar essa consulta ao banco de dados e armazena o numero de registros
  26.  
  27.     if (mysqli_num_rows($resultado) > 0) : // se o numero de linhas da variavel resultado acima for maior que 0, significa que existe registro
  28.       $senha = md5($senha); // devemos criptografar a senha para fazer a consulta ja q ela foi inserida criptografada
  29.       $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.
  30.  
  31.       $resultado = mysqli_query($connect, $sql); // execute a consulta e armazene nessa variavel,
  32.       mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
  33.  
  34.       if (mysqli_num_rows($resultado) == 1) : // se houver um resultado.
  35.         $dados = mysqli_fetch_array($resultado); // converte o resultado em um array e atribui a variavel dados
  36.         mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
  37.  
  38.         $_SESSION['logado'] = false; // vai ser usado na verificação para adentrar o link restrito, ela so entrara se existir a SESSION logado.
  39.         $_SESSION['id_usuario'] = $dados['id']; // pega os dados retornados de $dados, e atribui a se~ssao id_usuario, o id vindo de $dados.
  40.         header('Location: home.php'); // redirecione o usuario para esta pagina , header é a funcao para redirecionar.
  41.  
  42.       else :
  43.         $erros[] = "Usuario e senha não confere";
  44.       endif;
  45.     else : // caso não haja registro, significa que, nao existe esse usuario
  46.       $erros[] = "<li>Usuario inexistente</li>";
  47.     endif;
  48.   endif;
  49.  
  50. endif;
  51.  
  52. ?>
  53.  
  54.  
  55. <!DOCTYPE html>
  56. <html lang="en">
  57.  
  58. <head>
  59.   <meta charset="UTF-8">
  60.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  61.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  62.   <title>Document</title>
  63. </head>
  64.  
  65. <body>
  66.   <h1>Login</h1>
  67.   <hr>
  68.   <?php
  69.  
  70.  
  71.   if (!empty($erros)) :
  72.     foreach ($erros as $erro) :
  73.       echo $erro;
  74.     endforeach;
  75.   endif;
  76.  
  77.  
  78.   ?>
  79.   <form action="" method="POST">
  80.  
  81.     Login: <input type="text" name="login"> <br>
  82.     Senha <input type="password" name="senha"> <br>
  83.     <button type="submit" name="btn-entrar"> Entrar </button>
  84.   </form>
  85. </body>
  86.  
  87. </html>
  88. /////////////   home.PHP ////////////////////
  89. <?php
  90. //Conexão com banco de dados,
  91. require_once 'db_connect.php'; // Pega registros de banco de dados.
  92.  
  93. //Sessão
  94. session_start();
  95.  
  96.  
  97. //VERIFICAÇÃO -> serve para não deixar acessar pelo url
  98. if (!isset($_SESSION['logado'] ) ) : // se não existir a seção logado,
  99.   header('Location: index.php'); // redirecione ao index.php
  100. endif;
  101.  
  102. //dados
  103.  
  104. $id = $_SESSION['id_usuario']; // variavel recebe o id vindo da seção
  105. $sql = "SELECT * FROM usuarios WHERE id = '$id'"; // pega todos os dados da tabela usuario onde o id for igual ao da variavel
  106.  
  107. $resultado = mysqli_query($connect, $sql); //execute esse sql no banco
  108. $dados = mysqli_fetch_array($resultado); // transforme os dados vindos em um array para podermos usa-los
  109. mysqli_close($connect); // sempre que precisar fazer uma consulta e tiver armazenado os dados feche a conexão
  110. ?>
  111.  
  112.  
  113. <!DOCTYPE html>
  114. <html lang="en">
  115.  
  116. <head>
  117.   <meta charset="UTF-8">
  118.   <meta http-equiv="X-UA-Compatible" content="IE=edge">
  119.   <meta name="viewport" content="width=device-width, initial-scale=1.0">
  120.   <title>Pagina restrita</title>
  121. </head>
  122.  
  123. <body>
  124.   <!-- Podemso utilizar os dados advindos da forma a seguir-->
  125.   <h1> OLA <?php echo $dados['nome']; ?></h1>
  126.  
  127.   <a href="logout.php">SAIR</a>
  128. </body>
  129.  
  130. </html>
  131.  
  132. //////////////// logout.php //////////////////////
  133. <?php
  134. // tela de logout,
  135. session_start(); // inicia a seção
  136. session_unset(); // limpa a seção
  137. session_destroy(); // encerra a seção
  138.  
  139.  
  140. header('Location:index.php'); // redireciona para io index de volta
  141.  
  142.  
  143.  
  144. //////////// db_connect.php ////////////////
  145. <?php
  146.  
  147. //CONEXÃO com banco de dados
  148.  
  149. $servername = "localhost"; // servidor armazenado
  150. $username = "gleidson"; // usuario do mysql
  151. $password = "37649035"; // senha do mysql
  152. $db_name = "sistemalogin"; //nome do banco de dados
  153.  
  154. //funcao para conectar com o banco de dados
  155. $connect = mysqli_connect($servername,$username,$password,$db_name);
  156.  
  157. // verifica se há erros na conexão
  158. if(mysqli_connect_errno()):
  159.   echo "Falha ao conectar com banco de dados.".mysqli_connect_error();
  160. endif;
  161.  
Advertisement
Add Comment
Please, Sign In to add comment