Pesquisar na Comunidade
Mostrando resultados para as tags ''níveis''.
Encontrado 4 registros
-
Olá a todos, o sistema de login que estou trabalhando é em cima de um que peguei meio que pronto e tive que modificar conforme as minhas necessidade, porém tem um erro serio, é assim, a pessoa tem que logar com numero de matricula e senha, se eu colocar numero de matricula e senha diferente não loga, ate ai tudo bem, mas se eu digito uma letra a pessoa loga normal para a conta principal, e isso não pode acontecer. podem me dar uma ajuda? segue uma esquema do codigo, que é de teste. aqui a pagina de login.php <?php session_start(); // se já existir um usuário logado if (isset($_SESSION['user'])) { // volta pro index header('Location: ./'); } elseif (isset($_POST['login'])) { // conecta ao banco de dados include 'app/models/connect.php'; // conecta ao banco de dados include 'app/models/model.php'; // criar a query de busca $query = "SELECT * FROM usuarios WHERE status = 1 AND matricula ='$_POST[login]' AND senha = MD5('$_POST[senha]')"; // executar a query if (is_array($result = returnArray($query))) { $_SESSION['user'] = $result[0]; header('Location: ./'); } else { $e = "<p class='error'>$result</p>"; } } ?> <form method="POST" action="valida.php"> <table> <tr> <td> <img src="assets/imgs/logo.png"> </td> <td><h1>Sistema de Gestão<br><b>Patrimonial do DEP</b></h1></a></td> </tr> <tr> <td colspan='2'> <input type="text" name="txt_usuario" id="txt_usuario" class="form-control" placeholder="login" required autofocus> <br><br> <input type="password" name="txt_senha" id="txt_senha" class="form-control" placeholder="Senha" required> <br><br> <input type='submit' value='logar'> <?php if(isset($_SESSION['loginErro'])) { echo $_SESSION['loginErro']; unset ($_SESSION['loginErro']); } ?> </tr> </table> </form> --------------------- seguranca.php <?php function seguranca_adm(){ if((empty($_SESSION['usuarioId'])) && (empty($_SESSION['usuarioMatricula'])) && (empty($_SESSION['usuarioNiveisAcessoId']))){ $_SESSION['loginErro'] = "Área restrita"; header("Location: login.php"); }else{ if($_SESSION['usuarioNiveisAcessoId'] != "1"){ $_SESSION['loginErro'] = "Área restrita"; header("Location: login.php"); } } } ?> ------------------------------------- valida.php // pega os dados vindo do login session_start(); include_once("conexao/conexao.php"); //Verifica se os campos possuem dados if((isset($_POST['txt_usuario']) == ['txt_usuario'] ) && (isset($_POST['txt_senha']))){ $usuario = mysqli_real_escape_string($conn, $_POST['txt_usuario']); //Escapar de caracteres especiais, como aspas, prevenindo SQL injection $senha = mysqli_real_escape_string($conn, $_POST['txt_senha']); //$senha = md5($senha); //$senha = hash('sha512','$senha'); $senha = $senha; $result_usuario = "SELECT * FROM usuarios WHERE matricula = '$usuario' && senha = '$senha'"; $resultado_usuario = mysqli_query($conn, $result_usuario); $resultado = mysqli_fetch_assoc($resultado_usuario); //Encontrando um usuário na tabela usuario com os mesmos dados digitado pelo usuario if(isset($resultado)){ $_SESSION['usuarioId'] = $resultado['id']; $_SESSION['usuarioNome'] = $resultado['nome']; $_SESSION['usuarioNiveisAcessoId'] = $resultado['niveis_acesso_id']; $_SESSION['usuarioMatricula'] = $resultado['matricula']; if($_SESSION['usuarioNiveisAcessoId'] == "1"){ header("Location: adm.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "2"){ header("Location: pagi_moderador/moderad.php"); }elseif($_SESSION['usuarioNiveisAcessoId'] == "3"){ header("Location: user_comum/user.php"); }else{ $_SESSION['loginErro'] = "Erro - Entre em contato suporte@suporte.com.br"; header("Location: login.php"); } }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: login.php"); } }else{ $_SESSION['loginErro'] = "Usuário ou senha inválido"; header("Location: login.php"); } ?> não sei onde estou errando pois o camp matricula é int e no login aceita letras.
-
- niveis
- inconsistente
-
(e %d mais)
Tags:
-
O sistema de cadastro está funcionando corretamente em todas as páginas; Tenho 3 níveis de usuários, o problema é que na seguinte páginas, quando estou logado em todos os usuários ele me redireciona sempre para a mesma página que é menuCliente.php; Algo que não deveria acontecer, visto que em determinados usuários ele deveria me liberar o acesso a página cadastrarCliente.php O que há de errado com o código? Página cadastrarCliente.php: <!DOCTYPE html> <html lang="pt-br"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="../styles/estilo.css"> </head> <body> <?php include "../conexao.php"; /* A sessão precisa ser iniciada em cada página diferente */ if (!isset($_SESSION)){ session_start(); /* Verifica se não há a variável da sessão que identifica o usuário */ } if (!isset($_SESSION['login'])){ /* Destrói a sessão por segurança */ session_destroy(); /* Redireciona o visitante de volta pro login */ header("Location: index.php"); exit; } ?> <?php /* A sessão precisa ser iniciada em cada página diferente */ if(!isset($_SESSION['idUsuario']['nivel'])){ $nivelNecessario = 1; /* Verifica se não há a variável da sessão que identifica o usuário */ if($_SESSION['idUsuario']['nivel'] = $nivelNecessario){ /* $alerta = echo "Você não tem permissão para realizar esta operação!"; */ echo "<script language='javascript'>alert($alerta);</script>"; /* Redireciona o visitante de volta pro login */ header("location:menuCliente.php"); } else{ if($_SESSION['idUsuario']['nivel'] > $nivelNecessario){ header("location:cadastrarCliente.php"); } } } ?> <table> <tr> <th> Você está logado com: <?php echo $_SESSION['login']; ?> | </th> <th> <a href="../logout.php"><p>Logout</p></a> </th> </tr> </table> </body> </html> Se precisarem do código das outras páginas me avisa, mas como eu falei, o erro está nesta página...
-
Boa tarde desenvolvedores, Estou montando uma aplicação que é na realidade um repositório de materiais, daí gostaria de implementar um cadastro que possibilitasse a escolha de quais materiais eu desejo ter acesso. Então, o usuário iria escolher o que ele quer acessar e o painel dele só iria mostrar as categorias que ele escolheu ter o acesso. Esse login não seria por níveis de acesso, mais sim por níveis de permissões , onde eu acredito que preciso ter uma tabela de usuários e outra de permissões. Se algum de vocês tiveram e essa experiência e puderem compartilhar ficarei grato.
- 2 respostas
-
Olá pessoal, andei pesquisando aqui no fórum uma solução para meu problema, mas as alternativas que tentei não resolveram o caso. Poderiam me dar uma ajudinha aqui? Quero criar um terceiro nível em meu menu, especialmente no marcador "Download", para que eu possa, por exemplo, dar categorias de downloads como "material acadêmico, etc...". <div class='top-nav'> <div id='menu-dropdown'> <ul id='topmobilemenu'> <li><a expr:href='data:blog.homepageUrl'><span><i class='icon-home'/></span></a></li> <li class='has-sub'> <a href='#'><span>Tecnologia</span></a> <ul> <li><a href='#'><span>Notícias</span></a></li> <li><a href='#'><span>Downloads</span></a></li> <li class='last'><a href='#'><span>Products</span></a></li> </ul> </li> <li class='has-sub'> <a href='#'><span>Negócios</span></a> <ul> <li><a href='#'><span>Marketing</span></a></li> <li class='last'><a href='#'><span>Location</span></a></li> </ul> </li> <li class='last'><a href='#'><span>Fashion</span></a></li> <li class='last'><a href='#'><span>Lifestyle</span></a></li> </ul> </div> <ul class='social-icons float-right'> <li class='facebook'><a href='http://facebook.com' target='_blank' title='Facebook'> <i class='icon-facebook'/> </a></li> <li class='twitter'><a href='https://twitter.com' target='_blank' title='Twitter'> <i class='icon-twitter'/> </a></li> <li class='gplus'><a href='https://plus.google.com' target='_blank' title='Google plus'> <i class='icon-google-plus'/> </a></li> </ul> </div> <div class='clear'/> E o CSS pra ele é: (Vou colando a medida que eu for localizando no template) #menu-dropdown { max-width: 650px; float: left; } #menu-dropdown { border: 0px; margin: 0px auto; padding: 0px; font-size: 14px; font-weight: bold; width:100%; max-width:750px; float:left; } #menu-dropdown ul { background: #333333; height: 45px; list-style: none; margin: 0; padding: 0; } #menu-dropdown li { float: left; padding: 0px; } #menu-dropdown li a { background: #333333 url('http://4.bp.blogspot.com/-eRuYGIJ6kZU/Un8xjrEuaUI/AAAAAAAABto/rEx77zt-lr4/s1600/seperator.gif') center right no-repeat; display: block; font-weight: 400; line-height: 45px; margin: 0px; padding: 0px 15px; text-align: center; text-decoration: none; font-family: Oswald, arial, Georgia, serif; text-transform: uppercase; font-size:15px; } #menu-dropdown > ul > li > a { color: #cccccc; } #menu-dropdown ul ul a { color: #cccccc; } #menu-dropdown li > a:hover, #menu-dropdown ul li:hover > a { background: $(primary.color) url('http://2.bp.blogspot.com/-OIz_gMAJc6M/Un8xjibyHrI/AAAAAAAABt8/cJcD57RyXXY/s1600/hover.png') bottom center no-repeat; color: #FFFFFF; text-decoration: none; } #menu-dropdown li > a i{ color: #FFFFFF; } #menu-dropdown li ul { background: #333333; display: none; height: auto; padding: 0px; margin: 0px; border: 0px; position: absolute; width: 225px; z-index: 200; /*top:1em; /*left:0;*/ } #menu-dropdown li:hover ul { display: block; } #menu-dropdown li li { background: url('http://2.bp.blogspot.com/-62RZ4E3cHS8/Un8xkLqHRaI/AAAAAAAABt0/RqGVZ3Xy1Hs/s1600/sub_sep.gif') bottom left no-repeat; display: block; float: none; margin: 0px; padding: 0px; width: 225px; } #menu-dropdown li:hover li a { background: none; } #menu-dropdown li ul a { display: block; height: 35px; line-height:35px; font-size: 12px; font-style: normal; margin: 0px; padding: 0px 10px 0px 15px; text-align: left; } #menu-dropdown li ul a:hover, #menu-dropdown li ul li:hover > a { background: $(primary.color) url('http://1.bp.blogspot.com/-xW_sOqCx39k/Un8xjlYSKqI/AAAAAAAABts/LJqXWuWTJME/s1600/hover_sub.png') center left no-repeat; border: 0px; color: #ffffff; text-decoration: none; } #menu-dropdown p { clear: left; } Em anexo segue um print do menu atual.