Sistema de Login com Bloqueio, migração do phpmysqli para PHPPDO

10/08/2021

0

PHP

Alguém pode me ajudar ??????

check.php


<?php
session_start();

$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;
$senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE;

require_once('conectar.php');
$result = $mysqli->query("SELECT * FROM usuarios WHERE login = '".$login."'");

$mensagem = "";
$tent = 0;
$logado = date('dmYHis');

if ($result->num_rows > 0) {
$array = $result->fetch_assoc();
if ($array['bloqueado'] == 0){
if ($array['senha'] == $senha){
$mysqli->query("UPDATE usuarios SET tent = 0, logado = '".$logado."' WHERE login = '".$login."'");
$_SESSION['login'] = $login;
$_SESSION['logado'] = $logado;
$mensagem = "Ok";
} else {
if ($array['tent'] >= 3){
$mysqli->query("UPDATE usuarios SET tent = 0, bloqueado = 1 WHERE login = '".$login."'");
$mensagem .= "Usuário bloqueado, tentou mais de 3 vezes";
} else {
$tent = $array['tent'] + 1;
$mysqli->query("UPDATE usuarios SET tent = ".$tent." WHERE login = '".$login."'");
if ((3-$tent) == 0){
$mensagem .= "Foi sua última tentativa, se errar mais uma vez será bloqueado";
} else {
$mensagem .= "Você só tem mais ".(3-$tent)." tentativa(s)";
}
}
}
} else {
$mensagem .= "Usuário bloqueado fale com o Administrador";
}
} else {
$mensagem .= "Usuário não encontrado";
}
echo $mensagem;




sec.php


<?php
session_start();
$deslogar = false;
if((!isset ($_SESSION['login']) == true) and (!isset ($_SESSION['logado']) == true)){
$deslogar = true;
}
require_once('conectar.php');
$logadodb = "";
$result = $mysqli->query("SELECT logado FROM usuarios WHERE login = '".$_SESSION['login']."'");
if ($result->num_rows > 0) {
$array = $result->fetch_assoc();
$logadodb = $array['logado'];
if ($logadodb != $_SESSION['logado']){
$deslogar = true;
}
}
if ($deslogar){
unset($_SESSION['login']);
unset($_SESSION['logado']);
$_SESSION = array();
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
session_destroy();
echo "
<script>
$(function () {

let timerInterval
Swal.fire({
title: 'Desconectar!',
html: 'Você logou em outro dispositivo desconectando em <b></b> milissegundos.',
timer: 2500,
timerProgressBar: true,
didOpen: () => {
Swal.showLoading()
timerInterval = setInterval(() => {
const content = Swal.getHtmlContainer()
if (content) {
const b = content.querySelector('b')
if (b) {
b.textContent = Swal.getTimerLeft()
}
}
}, 100)
},
willClose: () => {
clearInterval(timerInterval)
}
}).then((result) => {
/* Read more about handling dismissals below */
if (result.dismiss === Swal.DismissReason.timer) {
console.log('I was closed by the timer')
top.location.href = 'index.php';
}
})

});
</script>
";
}
?>
<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
Joceilton

Joceilton

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar