0
I’m using the code on my administration page
<?php
include_once "valida.php";
if ($_SESSION['usuarioNiveisAcessoId'] != "1"){
header('Location: index.php');
}
?>
My user is with access level 1, but when I enter with levels other than 1, he still has access to the administrative page, can help me ?
This is my Valida page
<?php
session_start();
include_once("conexao.php");
$btnLogin = filter_input(INPUT_POST, 'btnLogin', FILTER_SANITIZE_STRING);
if($btnLogin){
$usuario = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING);
$senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
//echo "$usuario - $senha";
if((!empty($usuario)) AND (!empty($senha))){
$result_usuario = "SELECT id, nome, email, senha, niveis_acesso_id FROM usuarios WHERE email='$usuario' LIMIT 1";
$resultado_usuario = mysqli_query($conn, $result_usuario);
$resultado = mysqli_fetch_assoc($resultado_usuario);
if(isset($resultado)){
$_SESSION['usuarioId'] = $resultado['id'];
$_SESSION['usuarioNome'] = $resultado['nome'];
$_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id'];
$_SESSION['usuarioEmail'] = $resultado['email'];
if($_SESSION['usuarioNiveisAcessoId'] == "1"){
header("Location: administrativo.php");
}elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){
header("Location: colaborador.php");
}else{
header("Location: cliente.php");
}
//Não foi encontrado um usuario na tabela usuário com os mesmos dados digitado no formulário
//redireciona o usuario para a página de login
}else{
//Váriavel global recebendo a mensagem de erro
$_SESSION['loginErro'] = "Usuário ou senha Inválido";
header("Location: login.php");
}
//O campo usuário e senha não preenchido entra no else e redireciona o usuário para a página de login
}else{
$_SESSION['loginErro'] = "Usuário ou senha inválido";
header("Location: login.php");
}
}
?>
In the archive
valida.php
, you check if there was a POST with the login data. If not, redirect tologin.php
; otherwise log in. When you go to the administrative page there will be no login POST. Your code has become quite confusing.– Woss