Rasp 3 Denunciar post Postado Setembro 24, 2008 Fala galera! Estou tentando utilizar niveis no sistema de login que utilizo, porém não consigo implementa-lo de forma alguma... fiz testes dando echo ao logar os usuarios e todos os usuarios independente de seu nivel estavam marcando como nivel 1 Será que poderiam me ajudar? Segue cod de login: Abre_Conexao(); $cnx = mysql_query("SELECT COUNT(*) AS total FROM usuarios WHERE login = '$login' AND senha = '$senha' AND chave = '$chave'"); $total = mysql_result($cnx, 0, "total"); mysql_close(); if($total == 1) { $dados = array(); $dados["login_usuario"] = ucfirst(strtolower($login)); $dados["logado"] = true; $_SESSION["dados"] = $dados; header("Location: central/"); } else { $retorno = "<script type=\"text/javascript\">alert('Login ou Senha incorretos, Por favor verifique os dados digitados');</script>"; } Compartilhar este post Link para o post Compartilhar em outros sites
{TeRmInAtOr} 1 Denunciar post Postado Setembro 24, 2008 Tu estas contado o total de usuarios SELECT COUNT(*) AS total FROM usuarios WHERE login = '$login' AND senha = '$senha' AND chave = '$chave'" Só que limitando os registros ao login, senha e chave, ou seja vai retornar um registro sempre! Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 24, 2008 Fala terminator... Então.. teria de usar assim? $cnx = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha' AND chave = '$chave'"); $total = mysql_num_rows($cnx); if($linhas = mysql_fetch_array($cnx) == 1) { É isso? to perdido em como modifica-lo. Abs Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 24, 2008 Acabei de resolver cara! fiz assim: $cnx = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha' AND chave = '$chave'"); $total = mysql_num_rows($cnx); $linhas = mysql_fetch_array($cnx); if($total == 1) { $dados = array(); $dados["login_usuario"] = ucfirst(strtolower($login)); $dados["logado"] = true; $dados["fk_nivel"] = $linhas["fk_nivel"]; $_SESSION["dados"] = $dados; Agora minha dúvida é... como eu faço para limitar o menu de acordo com o nível? Avaliando pelo nível Compartilhar este post Link para o post Compartilhar em outros sites
{TeRmInAtOr} 1 Denunciar post Postado Setembro 24, 2008 Rasp, se você tem niveis fixos, pode fazer algo bem simples como: <?php function permissoes($nivel){ switch ($nivel) { case 1: $html = "menu, menu2, menu3"; return $html; break; case 2: $html = "menu4, menu5, menu6"; return $html; break; } } echo permissoes(1) ?> Mas dá para fazer algo mais elaborado com banco de dados. Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 24, 2008 Então terminator... Os niveis são cadastrados no banco de dados e faço integração de tabelas para retornar em qual nivel cada usuario esta cadastrado. A minha ideia era fazer o seguinte: Atualmente uso um if para identificar se a sessão existe, caso sim mostra o menu, caso não informa uma mensagem. Queria modificar isso para que mostrasse somente um menu diferente, a pagina seria a mesma só modificando o menu, saca? O if que utilizo para menu é o seguinte: <?php if(!isset($_SESSION['dados'])) { echo " <div id=\"menu-principal\"> Este menu foi desabilitado </div> "; } else { $auth = isset ($_SESSION['dados']['auth']) ? $_SESSION['dados']['auth'] : 0; if($auth == md5(1)) { echo " <div class=\"pdmenu\"> <ul> <li class=\"usuarios\"><a href=\"#\">Gerenciar Usuários</a> <ul> <li><a href=\"usuario_listar.php\">Listar Usuários</a></li> <li><a href=\"usuario_novo.php\">Novo Usuário</a></li> </ul> </li> <li class=\"materias\"><a href=\"#\">Gerenciar Matérias</a> <ul> <li><a href=\"materia_listar.php\">Listar Matérias</a></li> <li><a href=\"materia_nova.php\">Nova Matéria</a></li> </ul> </li> <li><a href=\"#\">Gerenciar Arquivos</a> <ul> <li><a href=\"arquivo_listar.php\">Listar Arquivos</a></li> <li><a href=\"arquivo_novo.php\">Novo Arquivo</a></li> </ul> </li> </ul> </div> <!--<ul id=\"menu-principal\"> <li class=\"usuarios\"><a href=\"usuarios_listar.php\">Gerenciar Usuários</a></li> <li class=\"materias\"><a href=\"materias.php\">Gerenciar Matérias</a></li> <li class=\"arquivos\"><a href=\"arquivos.php\">Gerenciar Arquivos</a></li> </ul>--> "; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 24, 2008 Terminator, como eu adapto esse exemplo que você me deu ao meu script atual? pensei em comparar derrepente Qq você acha? Valeu pela ajuda até agora cara! abs Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 24, 2008 Fala ae galera! Resolvi o problema... depois de bater um pouco de cabeça, resolvi fazer por comparação, e ficou muito legal. O resultado é esse: <?php if(!isset($_SESSION['dados'])) { echo " <div id=\"menu-principal\"> Este menu foi desabilitado </div> "; } else { $nivel = isset($_SESSION['dados']['fk_nivel']) ? $_SESSION['dados']['fk_nivel'] : 0; if($nivel == 1) { echo " <div class=\"pdmenu\"> <ul> <li class=\"usuarios\"><a href=\"#\">Gerenciar Usuários</a> <ul> <li><a href=\"usuario_listar.php\">Listar Usuários</a></li> <li><a href=\"usuario_novo.php\">Novo Usuário</a></li> </ul> </li> <li class=\"materias\"><a href=\"#\">Gerenciar Matérias</a> <ul> <li><a href=\"materia_listar.php\">Listar Matérias</a></li> <li><a href=\"materia_nova.php\">Nova Matéria</a></li> </ul> </li> <li><a href=\"#\">Gerenciar Arquivos</a> <ul> <li><a href=\"arquivo_listar.php\">Listar Arquivos</a></li> <li><a href=\"arquivo_novo.php\">Novo Arquivo</a></li> </ul> </li> </ul> </div> "; } elseif($nivel == 2) { echo " <div class=\"pdmenu\"> <ul> <li class=\"usuarios\"><a href=\"alterar_senha.php\">Alterar Senha</a></li> <li><a href=\"download_arquivos.php\">Verificar Arquivos</a></li> <li></li> </ul> </div> "; } } ?> Se alguem souber e puder dar dicas de como melhorar, agradeço e valeu pela ajuda de todos! Abss.... ps: Tópico já resolvido! Compartilhar este post Link para o post Compartilhar em outros sites
Rasp 3 Denunciar post Postado Setembro 25, 2008 Galera já foi resolvido a dúvida ok? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Setembro 25, 2008 ok. Compartilhar este post Link para o post Compartilhar em outros sites