Fórum usuários com permissões #611301
12/06/2020
0
Tenho um sistema de login funcionando, checando usuário e senha para autenticar. Tá tudo funcional até agora, mas surgiu a necessidade de criar permissões, e estou meio perdido. Já criei o item permissões na tabela, e tentei algumas implementações, mas até agora, nada funcionou. Ou não abre, ou abre permitindo tudo.
Atualmente funciona assim:
O arquivo abaixo verifica login e senha e dá acesso:
<?php
session_start();
include ''conexao/conexao.php'';
$usuario = $_POST[''usuario''];
$senha = $_POST[''senha''];
$sql = "SELECT * FROM usuarioX WHERE usuarioX = ''$usuario''";
$busca = mysqli_query($conexao, $sql);
#Buscar senha
$dados = mysqli_fetch_array($busca);
$senhabd = $dados[''senhaX''];
$senhaVerificada = ($senha);
#Verifica niveis de permissoes usuario
#QUERO COLOCAR AS PERMISSÕES AQUI
#Verifica se existe o usuario
$linha = mysqli_affected_rows($conexao);
if ($linha == 1) {
if ($senhabd == $senhaVerificada) {
$_SESSION[''usuario''] = $usuario;
header(''Location: index.php'');
} else {
header(''Location: login.php?id=1'');
}
} else {
header(''Location: login.php?id=2'');
}
?>
No código acima, caso usuário e senha confira, ele direciona para o index, do contrário volta para o login. O que pretendo é acrescentar permissões de professor, aluno e pai. Tipo se 1 nas permissões, abrir o index. Se 2 nas permissões, abrir o aluno.php, e se 3 nas permissões, abrir o pai.php. Logo abaixo vou listar a página index, pois acredito que nela tem alguma ação que tá impedindo essa minha lógica. A idéia seria ter uma página dessa (index) para cada usuário, ou uma idéia melhor, caso alguém tenha.
<?php
session_start();
if (!isset ($_SESSION[''usuario'']) == true)
{
unset($_SESSION[''login'']);
header(''Location: login.php'');
}
$logado = $_SESSION[''usuario''];
?>
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>
Dashboard -
</title>
<!-- Favicon -->
<link href="./assets/img/brand/favicon.png" rel="icon" type="image/png">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
<!-- Icons -->
<link href="./assets/js/plugins/nucleo/css/nucleo.css" rel="stylesheet" />
<link href="./assets/js/plugins/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" />
<!-- CSS Files -->
<link href="./assets/css/argon-dashboard.css?v=1.1.0" rel="stylesheet" />
</head>
<body>
<nav class="navbar navbar-vertical fixed-left navbar-expand-md navbar-light bg-white" id="sidenav-main">
<div class="container-fluid">
<!-- Toggler -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Brand -->
<a class="navbar-brand pt-0" href="./index.html">
<img src="./assets/img/brand/blue.png" class="navbar-brand-img" alt="...">
</a>
<!-- User -->
<ul class="nav align-items-center d-md-none">
<li class="nav-item dropdown">
<a class="nav-link nav-link-icon" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="ni ni-bell-55"></i>
</a>
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right" aria-labelledby="navbar-default_dropdown_1">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<div class="media align-items-center">
<span class="avatar avatar-sm rounded-circle">
<img alt="Image placeholder" src="./assets/img/theme/team-1-800x800.jpg
">
</span>
</div>
</a>
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right">
<div class=" dropdown-header noti-title">
<h6 class="text-overflow m-0">Welcome!</h6>
</div>
<div class="dropdown-divider"></div>
<a href="#!" class="dropdown-item">
<i class="ni ni-user-run"></i>
<span>Logout</span>
</a>
</div>
</li>
</ul>
<!-- Collapse -->
<div class="collapse navbar-collapse" id="sidenav-collapse-main">
<!-- Collapse header -->
<div class="navbar-collapse-header d-md-none">
<div class="row">
<div class="col-6 collapse-brand">
<a href="./index.html">
<img src="./assets/img/brand/blue.png">
</a>
</div>
<div class="col-6 collapse-close">
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle sidenav">
<span></span>
<span></span>
</button>
</div>
</div>
</div>
<!-- Form -->
<form class="mt-4 mb-3 d-md-none">
<div class="input-group input-group-rounded input-group-merge">
<input type="search" class="form-control form-control-rounded form-control-prepended" placeholder="Search" aria-label="Search">
<div class="input-group-prepend">
<div class="input-group-text">
<span class="fa fa-search"></span>
</div>
</div>
</div>
</form>
<!-- Navigation -->
<ul class="navbar-nav">
<li class="nav-item class=" active" ">
<a class=" nav-link active " href=" index.php"> <i class="ni ni-tv-2 text-primary"></i> Dashboard
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-satisfied text-orange"></i> Usuarios
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="tipoUsuario.php">
Cadastrar Tipo Usuario
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="usuario_hpac.php">
Cadastrar Usuario
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-shop text-blue"></i> Empresas
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="ramoAtividade.php">
Cadastrar Ramo de Atividade
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="formularioPJ.php">
Cadastrar Empresa
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-single-02 text-yellow"></i> Cliente
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="formularioCliente.php">
Cadastrar Cliente
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-bullet-list-67 text-red"></i> Listar Tabelas
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="listarPJ.php">
Listar Empresas
</a>
Atualmente funciona assim:
O arquivo abaixo verifica login e senha e dá acesso:
<?php
session_start();
include ''conexao/conexao.php'';
$usuario = $_POST[''usuario''];
$senha = $_POST[''senha''];
$sql = "SELECT * FROM usuarioX WHERE usuarioX = ''$usuario''";
$busca = mysqli_query($conexao, $sql);
#Buscar senha
$dados = mysqli_fetch_array($busca);
$senhabd = $dados[''senhaX''];
$senhaVerificada = ($senha);
#Verifica niveis de permissoes usuario
#QUERO COLOCAR AS PERMISSÕES AQUI
#Verifica se existe o usuario
$linha = mysqli_affected_rows($conexao);
if ($linha == 1) {
if ($senhabd == $senhaVerificada) {
$_SESSION[''usuario''] = $usuario;
header(''Location: index.php'');
} else {
header(''Location: login.php?id=1'');
}
} else {
header(''Location: login.php?id=2'');
}
?>
No código acima, caso usuário e senha confira, ele direciona para o index, do contrário volta para o login. O que pretendo é acrescentar permissões de professor, aluno e pai. Tipo se 1 nas permissões, abrir o index. Se 2 nas permissões, abrir o aluno.php, e se 3 nas permissões, abrir o pai.php. Logo abaixo vou listar a página index, pois acredito que nela tem alguma ação que tá impedindo essa minha lógica. A idéia seria ter uma página dessa (index) para cada usuário, ou uma idéia melhor, caso alguém tenha.
<?php
session_start();
if (!isset ($_SESSION[''usuario'']) == true)
{
unset($_SESSION[''login'']);
header(''Location: login.php'');
}
$logado = $_SESSION[''usuario''];
?>
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>
Dashboard -
</title>
<!-- Favicon -->
<link href="./assets/img/brand/favicon.png" rel="icon" type="image/png">
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
<!-- Icons -->
<link href="./assets/js/plugins/nucleo/css/nucleo.css" rel="stylesheet" />
<link href="./assets/js/plugins/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" />
<!-- CSS Files -->
<link href="./assets/css/argon-dashboard.css?v=1.1.0" rel="stylesheet" />
</head>
<body>
<nav class="navbar navbar-vertical fixed-left navbar-expand-md navbar-light bg-white" id="sidenav-main">
<div class="container-fluid">
<!-- Toggler -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Brand -->
<a class="navbar-brand pt-0" href="./index.html">
<img src="./assets/img/brand/blue.png" class="navbar-brand-img" alt="...">
</a>
<!-- User -->
<ul class="nav align-items-center d-md-none">
<li class="nav-item dropdown">
<a class="nav-link nav-link-icon" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="ni ni-bell-55"></i>
</a>
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right" aria-labelledby="navbar-default_dropdown_1">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<div class="media align-items-center">
<span class="avatar avatar-sm rounded-circle">
<img alt="Image placeholder" src="./assets/img/theme/team-1-800x800.jpg
">
</span>
</div>
</a>
<div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right">
<div class=" dropdown-header noti-title">
<h6 class="text-overflow m-0">Welcome!</h6>
</div>
<div class="dropdown-divider"></div>
<a href="#!" class="dropdown-item">
<i class="ni ni-user-run"></i>
<span>Logout</span>
</a>
</div>
</li>
</ul>
<!-- Collapse -->
<div class="collapse navbar-collapse" id="sidenav-collapse-main">
<!-- Collapse header -->
<div class="navbar-collapse-header d-md-none">
<div class="row">
<div class="col-6 collapse-brand">
<a href="./index.html">
<img src="./assets/img/brand/blue.png">
</a>
</div>
<div class="col-6 collapse-close">
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle sidenav">
<span></span>
<span></span>
</button>
</div>
</div>
</div>
<!-- Form -->
<form class="mt-4 mb-3 d-md-none">
<div class="input-group input-group-rounded input-group-merge">
<input type="search" class="form-control form-control-rounded form-control-prepended" placeholder="Search" aria-label="Search">
<div class="input-group-prepend">
<div class="input-group-text">
<span class="fa fa-search"></span>
</div>
</div>
</div>
</form>
<!-- Navigation -->
<ul class="navbar-nav">
<li class="nav-item class=" active" ">
<a class=" nav-link active " href=" index.php"> <i class="ni ni-tv-2 text-primary"></i> Dashboard
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-satisfied text-orange"></i> Usuarios
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="tipoUsuario.php">
Cadastrar Tipo Usuario
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="usuario_hpac.php">
Cadastrar Usuario
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-shop text-blue"></i> Empresas
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="ramoAtividade.php">
Cadastrar Ramo de Atividade
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="formularioPJ.php">
Cadastrar Empresa
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-single-02 text-yellow"></i> Cliente
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="formularioCliente.php">
Cadastrar Cliente
</a>
</li>
<li class="nav-item">
<a class="nav-link " href="#">
<i class="ni ni-bullet-list-67 text-red"></i> Listar Tabelas
</a>
</li>
<li class="nav-item" style="margin-left: 10px">
<a class="nav-link " href="listarPJ.php">
Listar Empresas
</a>
Neto Sales
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)