prepare('SELECT * FROM usuarios WHERE email = ? AND ativo = 1'); $stmt->execute([$email]); $usuarioDb = $stmt->fetch(); if ($usuarioDb && password_verify($senha, $usuarioDb['senha_hash'])) { $stmtPerfil = $pdo->prepare('SELECT * FROM perfis WHERE id = ? AND ativo = 1'); $stmtPerfil->execute([$usuarioDb['perfil_id']]); $perfilDb = $stmtPerfil->fetch(); if (!$perfilDb) { $erro = 'Seu perfil de acesso está inativo. Fale com um administrador.'; } else { ao_carregar_sessao_usuario($pdo, $usuarioDb, $perfilDb); session_regenerate_id(true); $pdo->prepare('UPDATE usuarios SET ultimo_login = NOW() WHERE id = ?')->execute([$usuarioDb['id']]); $destino = $_SESSION['ao_pos_login'] ?? 'index.php'; unset($_SESSION['ao_pos_login']); header('Location: ' . $destino); exit; } } else { $erro = 'E-mail ou senha inválidos.'; } } ?>
AçãoOpção — acesso restrito a usuários cadastrados.