Sistema de Login – PHP & MySQL #

Sistema de Login – PHP & MySQL #

Eu pretendia separar o post em vários, mas como é um tema complexo embora tenha poucos arquivos, decidi colocar a versão 0.0.01 aqui na integra para não confundir a cabeça de ninguém.

#1. Necessitamos um arquivo de conexão (conn.php).

<?php
//Conecta com o Banco de Dados MySQL
$host="localhost";
$login="usuario";
$senha="senha";
$banco="nomedobanco";
$conecta="";
$conn = new mysqli ('localhost', 'usuario', 'senha', 'nomedobanco');
//Checa se a conexão obteve sucesso
if ($conn->connect_error){
die("Conexao falhou:" .$conn->connect_error);
} else {
//echo "Conectado";
}
?>

#2. Necessitamos um (index.php) sómente para facilitar o entendimento.

<html>
<?php
include_once("L_logado.php");
?>
Eu estou no index<br>
<a href="L_sair.php">Logoff</a>
</html>

#3. Este arquivo (L_logado.php) verifica constantemente se o usuário está logado.

<!--MANTENDO A SESSÃO ATIVA-->
<?php
include_once("conn.php");
@session_start();

$email = $_SESSION['email'];
$senha = $_SESSION['senha'];

if(!isset($_SESSION['email']) && !isset($_SESSION['senha'])){
header('Location: L_login.php');
exit;
}
?>

#4. O arquivo (L_login.php) é o que faz a verificação de login e cria uma @session.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"><!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container"><p></p>
<form action="" method="POST" enctype="multipart/form.data">
<div class="form-group text-dark"> <label for="InputName">Preencha seu email de login</label>
<p><input type="text" name="email" id="email" placeholder="email"></p>
<div class="form-group text-dark"> <label for="InputName">Sua senha</label>
<p><input type="password" name="senha" id="senha" placeholder="*****"></p>
<p><input type="submit" class="btn btn-primary btn-block" value="Login"></p>
<input type="hidden" name="entrar" value="login">
</form>
<?php
include_once("conn.php");
@session_start();
?>
<?php
if(isset($_POST['entrar']) && $_POST['entrar'] == "login"){
$email = $_POST['email'];
$senha = $_POST['senha'];

if(empty($login) || empty($senha)){
echo 'Preencha todos os campos!';
}else{
$sql="SELECT email, senha FROM admin WHERE email = '$email' AND senha = '$senha'";
$result = mysqli_query($conn, $sql);
//echo $sql;
$busca = mysqli_num_rows($result);
//echo $busca;
$linha = mysqli_fetch_assoc($result);
//echo $linha;
if($busca > 0){
$_SESSION['email'] = $linha['email'];
$_SESSION['senha'] = $linha['senha'];
header('Location:index.php');
exit;
}else{
echo 'Usuário ou senha inválidos.';
}
}
}
?>
<h5>
Você precisa estar logado no sistema!
</h5>
</div>
</body>
</html>

#5. O arquivo (L_sair.php) é o responsável por encerrar a @session e matar o login.

<?php
//Destruindo a sessão
@session_start();
session_destroy();
unset($_SESSION);
header('Location:L_login.php');
exit;
?>

Criando estes arquivos e personalizando eles de acordo com suas necessidades você pode obter um sistema de login simples e funcional, cuidado com as personalizações, estude bem o código antes de modificar.

David Snege

Debes estar conectado para publicar un comentario

Traducir »