128 ideias sobre “Como criar um Sistema de Login com Níveis de Permissão

    1. Vinícius Ribeiro

      Ao logar no sistema, no momento que você grava as informações na sessão, coloque também uma informação que o usuário está logado. Por ex:

      $_SESSION[‘logado’] = true;

      E na página de login você faz uma verificação igual na página restrita:
      session_start();
      if(isset($_SESSION[‘logado’])){
      header(“Location: restrito.php”); exit;
      }

  1. Leonardo Coutinho

    Mais fácil seria criar um ficheiro em php com os dados da conexão ao mysql tal como o connect, trigger..etc, e depois substituiamos esses dados com include(“config_mysql.php”);
    Ok Abraços…

  2. Thiago

    Como eu exibo um nome por exemplo ” Visitante” antes do login na pagina inicial.
    Apos efetuar o login, onde aparecia “Visitante” agora aparece o nome do Usuario?

  3. Pedro Munhoz

    Thiago Belem, parabéns pelo tutorial, sou iniciante e estava alguns dias me matando com isso , estava dando erro nas session, e não sabia mais o que fazer, segui seu tutorial e meu site ficou com o sistema de permissão perfeito.

    A uma dica para os preguiçosos, no inicio de suas paginas, vcs podem trocar isso:
    < ?php

    // A sessão precisa ser iniciada em cada página diferente
    if (!isset($_SESSION)) session_start();

    $nivel_necessario = 2;

    // Verifica se não há a variável da sessão que identifica o usuário
    if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel']

    por isso:
    include “restrito.php”;

    fica dica!

    vlw!!

  4. R

    Olá… e como faço para incluir uma página e um código para recuperar a senha.. com ela estando criptografada?

    Abraços !

  5. Carlos Silva

    Ola, bom dia!

    Faço parte de um trabalho social comunitário, onde os jovens adquirem diversos cursos, em atividades extra-escolares… Em fim gostaria de saber se vc poderia nos ajudar, criando um sistema onde os nossos alunos possam acessar com uma senha própria e obter as informações das suas notas, programação interna ou mesmo informações gerais do seu currículo.

    Este pedido estende se também aos amigos leitores.

    Agradeço de Coração

    Carlos Silva
    (081) 8591 3153
    carlossever@hotmail.com
    forcaauxiliarderesgate.blogspot.com

  6. Jorge Ferreira

    Bem gostei de mais do tutorial, conheço muito pouco de php, mas adoro a linguagem. Fiz da seguinte maneira pra redirecionar o usuário com acesso X pra sua página correspondente:

    // Redireciona o visitante
    if ($resultado[‘nivel’] == 0) {
    header(“Location: restrito.php”); exit;
    } elseif ($resultado[‘nivel’] == 1) {
    header(“Location: restrito1.php”); exit;
    } elseif ($resultado[‘nivel’] == 2) {
    header(“Location: restrito2.php”); exit;
    }
    }

  7. Geovane

    Parabéns Thiago, obrigado por compartilhar seu conhecimento. Você não faz ideia de como me ajudou!!! Estou com a seguinte dúvida: Se o usuário for de nivel 2, gostaria que mostra-se, por exemplo, um link onde somente o usuario de nivel 2 terá acesso.

  8. rafael

    boas….eu sou o rafael e queria saber como fazer aos utilizador que tem que aceder ao que eu quero…tem haver com as permissoes…so que eu nao estou a ver como faço…eu tenho dois niveis um tem acesso a tudo outro apenas tem a uma pagina do site…como faço isso?

  9. Bruno de Morais

    Bom dia, seguinte eu consegui fazer tudo certinho qndo coloco login e senha erado aparece mensagem certinho etc… porem quando coloco o certo ele vai ate o restrito.php e vez de ficar la e aparecer a pag etc vai pra index como se eu tivesse tentando entrar direto no restrito.php….
    pode me ajudar?

  10. Diego

    Thiago,

    Não teria como Você fazer um tutorial ensinando a usar a api do Google para autenticação de usuários com conta Google ?

    Vlw Abrass !

  11. Álan

    Thiago, meus Parabéns pelo conteúdo de seu blog e pela clareza nas explicações. É de grande ajudar seus posts. inclusive esse. ;D
    Valeu!

  12. Rodrigo Santin

    Amigo, estou utilizando este script porém no internet explorer esta funcionando bem ao efetuar logoff a sessão é eliminada, porém no firefox 3.6.13 a sessão não é eliminada, portanto quando o usuário clica no botão voltar ele volta ao sistema. Alguma solução?

  13. Ricardo

    Supondo que o usuário esta logado com nível ‘1’, é sacanagem “deslogar” o usuário só porque ele não tem acesso a uma página com nível ‘2’, hahah. É mais interessante apenas avisar e redirecioná-lo para outra página.

    Mas é um ótimo tutorial, abraços.

  14. Lambari_2000

    Oi Thiago,
    meu código esta com erro em algum lugar e nao to achando.
    o nivel do admin é 2 mas valida admim mesmo com o nivel 1

  15. Cla

    bah segui as instruções do tutorial e não consegui fazer funcionar dá um erro :Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/clarisse/public_html/prova/niveldeacesso/validacao.php on line 19Login inválido!

    E muito obrigada por disponibilizar esse tutorial foi super importante para pessoas como eu que qerem aprender php.

  16. Marcelo Grimberg

    Thiago

    Tenho um sistema controle de acesso e com seus grupos ( cliente, administrador e funcionario)
    e cada usuario cadastrado e com seu grupo registrado. Como eu devo desenvolver em php para conceder previlégio a um usuário ? por exemplo
    usuario max de uma determinada tabela ele pode inserir e alterar
    outro usuario regina tem acesso a mesma tabela do max ela pode excluir e inserir

    poderia me explicar como faço esse desenvolvimento ?

  17. Maxwell

    cara, eu tenho uma duvida, preciso colocar no login, uma forma de verificar se o usuario ja logou, para ele n cair na pagina de login caso ele tente acessar ela, se puder me ajudar eu aceito, obs: to usando o teu codigo :)

    1. Maxwell

      cara, ja resolvi o problema, ao a pessoa ir para a pagina de login, ela verifica se ela ta logada, se n tiver ela manda pra login, se tiver manda para logado.php, mudei umas coisas la no codigo, e fico legal ^^

  18. Tiago

    Muito bom turorial

    pq desse erro
    Warning: Cannot modify header information – headers already sent by (output started at C:wampwwwtarifadorvalidacao.php:1) in C:wampwwwtarifadorvalidacao.php on line 32

    1. Eltonjramos

      cara seguinte, o problema é que voce não deve usar header location para redirecionar pagina, pois a pesar dele servir para isso sua função é outra, alguns provedores não aceitão seu uso a não ser no inicio da página ou se ja tiver usado um comando de seção antes, para redirecionar use:
      echo(“location.href = ‘pagina_pra_onde_quer_ir.php';”);

  19. Marcio Seiji

    Opa amigo, só pra ajudar o Thiago, coloquei isso no começo da sua página:
    // A sessão precisa ser iniciada em cada página diferente
    < ?php

    // A sessão precisa ser iniciada em cada página diferente
    if (!isset($_SESSION)) session_start();

    $nivel_necessario = 2;

    // Verifica se não há a variável da sessão que identifica o usuário
    if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) {
    // Destrói a sessão por segurança
    session_destroy();
    // Redireciona o visitante de volta pro login
    header("Location: index.php"); exit;
    }

    ?>

    Esse trecho de código está no tutorial do Thiago.

  20. Marcio Seiji

    Muito bom tutorial! Sabe me dizer se com esse seu tutorial eu consigo fazer esse sitema de login como se fosse um módulo? Se sim, como?

  21. Eduardo

    E ae Thiago.

    Como faço para ao invés de aparecer a mensagem “Login inválido!” ele volte para a mesma página do formulário com a mensagem?

  22. Leonardo Bueno

    Fala Thiago…
    Gostei muito do seu tutorial…. Explica uma coisa…
    Como utilizamos a classe criado do sistema de login para validar niveis de acesso…
    Valeu.

  23. Deula2007

    Cara show de bola seu site! Parabens.
    Uma duvida, como fazer aquela função de Esqueceu sua senha?
    Abraçõs

    1. Jefrey

      Você pode fazer uma página que pede o nome de usuário e o e-mail. Se o que o visitante digitar estiver de acordo com os dados da tabela, ele envia, pelo e-mail do usuário, a senha.
      Caso ainda não conheça, pesquise sobre a função mail().

  24. Fabio

    Aqui comigo não deu certo…
    apareceu a mensagem:
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:xampphtdocsloginnivelvalidacao.php on line 25
    Login Inválido. Dados incorretos. Tente novamente…
    a linha 25 é :
    if (mysql_num_rows($query) != 1){

  25. Lucas Gif

    amigo, to com uma dúvida. Achei ótimo o tutorial e estava quase chegando no final dele.. Mas quando cheguei ao final eu noto que você não executa a busca própriamente dito na Tabela do mysql.. vc faz uma busca na database não é?
    Tipo eu criei uma database chamada “dweb” e nela eu executei o sql e ele criou a tabela “usuarios” e na conexão com o banco voce fez assim
    // Tenta se conectar ao servidor MySQL
    09 mysql_connect('localhost', 'root', '') or trigger_error(mysql_error());
    10 // Tenta se conectar a um banco de dados MySQL
    11 mysql_select_db('usuarios') or trigger_error(mysql_error());

    No “usuarios” eu pus o nome do meu BD que é “dweb” e onde agora eu ponho pra buscar na tabela “usuarios” criado pelo SQL…
    Sou leigo me ajuda por favor?
    Abraço e continue assim. Mto bom seus tutoriais!

    Qualquer coisa. lucas.gif@hotmail.com

  26. joao

    Ola, o seu tutorial está muito bem explica, contudo eu fiz tudo tal e qual, a tabela igual a sua, mas aparece-me um erro no validacao.php, poderia-me ajudar?
    obrigado

    o erro é o seguinte:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at C:AppServwwwloginvalidacao.php:16) in C:AppServwwwloginvalidacao.php on line 29

    Warning: Cannot modify header information – headers already sent by (output started at C:AppServwwwloginvalidacao.php:16) in C:AppServwwwloginvalidacao.php on line 37 “

  27. Francisco

    Olá Thiago, ótimo tuto…
    Bem cara tenho uma duvida estava tentando fazer ao salvar os dados dentro das sessions já fazer um redirecionamento automatico para a página selecionada com base no nivel de acesso só que não consegui, tentei fazer desta forma porém não sei pq não funciona…

    Infelizmente não sei como postar o codigo aqui acho q nem pode até rsrs. Apareceu até uma mensagem aqui falando de bloqueio, desculpe se causei algo ai no servidor hehe, não foi a intenção.

    Procurei no google até achei um cara que tem a mesma necessidade que a minha só q ele tb não achou uma resposta, quer dizer pelo menos nos foruns q ele postou não achou a resposta e nem eu, hehe.

    Obs: Seria ótimo se você explicasse também como poderia fazer esse mesmo processo só que no outro tutorial que você postou sobre Login com classes,hehe.

    Vlw, fico no aguardo.

  28. Rafael Wisch

    olá Thiago tudo bem?

    dúvida básica, você disse que a sessão tem que ser iniciada em cada página…

    eu gostaria de saber qual a necessidade disso acontecer?

    não preciso inicia-la apenas no login?

    desde já obrigado.

  29. luiz antonio giachini

    Thiago Belem:

    Como eu poderia colocar uma forma de o cara optar por ficar sempre logado,ou não.

    Grato

    1. Thiago Belem

      @Luiz Antobui Giachini
      Você precisará mudar o script e adicionar a funcionalidade.. Pode utilizar cookies para salvar os dados (usuário e senha) do visitante e depois, antes de redirecioná-lo para a página de login você verifica a existência e a validade desses cookies. :)

  30. Franklin

    está dando erro nesta linha

    atal error: Call to undefined function: mysql_real_escape_string() in c:apachehtdocsperna2administradorloginvalidacao.php on line 13

    o que poderá ser ?

    1. luiz antonio giachini

      Franklin faz assim:
      Esta assim:

      $usuario = mysql_real_escape_string($_POST[‘usuario’]);
      $senha = mysql_real_escape_string($_POST[‘senha’]);

      Voce deixa assim:
      $usuario = $_POST[‘usuario ‘];
      $senha = $_POST[‘senha’];

      Pra mim deu erro e coloquei assim, e funcinou uma beleza.

  31. jorge sandim

    Olá thiago!!!
    é a primeira vez que leio os tutoriais e artigos do seu blog e fiquei bastante impressionado com o conteudo dos artigos, expostos de maneira clara e objetiva, coisa que muito professor universitário não consegue fazer. Observei que muitos colegas desenvolvedores tem uma certa dificuldade em instanciar sessões no PHP, problema esse que já enfrentei usando um servidor de testes local e consegui resolver apenas colocando uma @ (é arroba mesmo) antes do session_start();
    abaixo coloco o código que uso:

    Deve-se lembrar aos leitores que sessões devem ser iniciadas antes de qualquer tipo de chamada ao servidor para evitar erros, ou seja, antes mesmo das tag’s

    Espero ter sido de alguma ajuda e continue com os ótimos artigos.
    Parabéns e qualquer coisa, manda um e-mail que se puder ajudar em alguma coisa ficarei muito feliz.

      1. Thiago Belem

        @Igor
        Você precisa ter um servidor de MySQL rodando e usar os dados corretos para se conectar ao banco de dados… Sempre leia (e entenda) a mensagem de erro que o PHP te traz… é sempre possível detectar a falha só de ler a mensagem de erro. :)

  32. Nelson Gomes Leal

    Cara muito bom seu post, quero tirar uma dúvida, como faço para que os cadastrados com nivel – 1 / faça o login tambem ? e outro detalhe, como posso fazer com que eu criei um cadastro ( que eu mesmo ADMIN ) mas que eu nao precise entrar no mysql e ir na tabela ‘usuarios’ e tenha que criar um cadastro, que ja faça isso em uma pagina com os campos que tem na tabela ??

    estarei no aguardo

    1. Thiago Belem

      @Nelson
      1 – Todos os níveis de usuário precisarão fazer login se a página estiver protegida e o usuário não estiver logado… Veja o item Verificando se o usuário está logado.
      2 – O cadastro você faz da forma mais simples… Cria um formulário e um script PHP que pega os dados inseridos no formulário e insere na tabela de usuários.

      1. Otavio

        Como eu faço esse arquivo?
        Tem como eu fazer e colocar o nivel de usuario na hora de cadastrar?
        Tu pode disponibilizar um arquivo para download aqui?

  33. magaiver

    Olá, Gostaria de agradecer pelo seu artigo e pela forma didática de como o escreveu. Mas gostaria de esclarecer algumas dúvidas:

    1 – Se o usuário não conseguir efetuar o login(por senha incorreta ou usuario e senha inexistente no banco), o redirecionamento deveria ser para a página de login e não a de index ?

    2 – o código que valida as páginas verificando se o usuário está ou não logado, seria mais produtivo se ficassem em um arquivo separado, pois assim bastario incluir esse arquivo nas páginas a proteger.

    Bem, acho que é só isso.

    Valeu

    1. Thiago Belem

      @Magaiver
      1 – Geralmente a página index não é protegida… Ela é usada para visitantes não logados terem uma porta de entrada no sistema… Mas isso vai de cada sistema, é só modificar pro seu uso.
      2 – Você pode fazer dessa forma… Não tem problema nenhum.

      :)

  34. jack

    to acompanhando seus tutoriais…parabéns….. e muitissimo obrigado por compartilhar seu conhecimento…..
    vamos as duvidas::
    eu coloquei na tabela :
    caso 1- INSERT INTO `usuarios` VALUES (NULL, ‘Usuário Teste’, ‘demo’, SHA1( ‘demo’ ), ‘usuario@demo.com.br’, 1, 1, NOW( ));

    caso 2-INSERT INTO `usuarios` VALUES (NULL, ‘Administrador Teste’, ‘admin’, SHA1( ‘admin’ ), ‘admin@demo.com.br’, 2, 1, NOW( ));

    caso 3-INSERT INTO `usuarios` VALUES (NULL, ‘eu’, ‘eu’, SHA1( ‘demo’ ), ‘eu’, 1, 1, NOW( ));

    qual seriam os dados de login:
    no caso 1=?
    usuario=
    senha=
    no caso 3=?
    usuario=
    senha=

    no caso 2 ele faz login normal com os dados:
    usuario=admin
    senha=admin

    agradeceria muito se responder…..valwssss feliza nao novo

  35. Carlos Braga

    Olá Thiago,
    Obrigado pelo post, pois ajudou muita gente aqui
    (estou postando novamente pois acho q deu algum erro, meu post nao apareceu)

    Fiz uma adaptação do seu script em meu site e ele apresenta o seguinte erro:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/cbragam/public_html/admin/home.php:1) in /home/cbragam/public_html/admin/home.php on line 2

    PS: Eu já alterei varios pontos do codigo e mesmo assim o erro continua… em uma pesquisa rapida no google, eu vi que isso ode ser um erro no PHP.ini, mas segundo meu provedor o cache limiter esta liberado.

    Você acredita que pode ser algo no codigo ?

    Obrigado, Abs!

  36. Bruno

    Bah cara fiz tudo certo mas quando eu boto logar com qualquer um dos dois cai em index.php, nenhum entra na pagina restrita, por que isso?

  37. Heitor Augusto

    eu montei meu form de cadastro de usuario, mais eu nao consigo inserir os dados na tabela. mais nao funciona da sempre “Query failed” pode me dar uma mao. todo o resto do codigo funciona mais a parte do “INSERT INTO”
    nao tem aqui o codigo em txt http://dev.moelabs.org/exec.txt

    Obrigado.

    1. Thiago Belem

      @Heitor
      Quando vamos fazer uma consulta ou inserção no MySQL as strings precisam estar entre aspas (únicas)… Compare o SQL de exemplo e o que você está gerando e verá que faltam as aspas ao redor das variáveis textuais.

  38. Agatha

    Olá,
    Sou iniciante nesta área, gostei do teu código por ser eficiente e simples de entender.
    Só tenho uma dúvida, e vou te perguntar porque tu é experiente no assunto e talvez possa me ajudar.
    Quando clico no botão “Entrar”, em vez de ele dar alguma mensagem ou entrar em alguma página, ele abre uma telinha perguntando se eu quero Salvar, Abrir ou Cancelar o arquivo, como se fosse um download. O que eu fiz de errado?

    Desde já, te agradeço.

  39. Rodrigo Carneiro

    Esse é o esqueleto de um sistema em PHP muito legal da sua parte compartilhar, eu quando comecei precisei disso e só encontrava porcaria, mas este seu esta nota 10! Meus agradecimentos pela comunidade!

  40. Rodrigo

    Opa galera primeiramente deixa eu compartilhar com vocês a solução do meu problema(e vi que alguns também estão com o mesmo problema que eu estava) essa criptografia SHA1 transforma a senha “admin” em ” d033e22ae348aeb5660fc2140aec35850c4da997″ e eu fiquei umas duas horas tentando por essa senha grande no campo senha e sempre dava login inválido, depois eu mudei a senha no MYSQL pra “admin” ai que nao funcionou mesmo, depois que percebi que ” d033e22ae348aeb5660fc2140aec35850c4da997″ = “admin” encriptografado entao galera pra conseguir tem que deixar a senha” d033e22ae348aeb5660fc2140aec35850c4da997″ no banco de dados e na hora de colocar o login e senha por “admin” no campo senha. PRONTO PROBLEMA RESOLVIDO ! Obrigado Thiago pelo tutorial!

  41. Julian

    Como o Thiago disse vc teria de utilizar o controle de estrutura Switch, ficaria desta forma

    // Redireciona o visitante
    switch ($resultado[‘nivel’]) {
    case 0:
    header(“Location: pagina_zero.php”);
    break;
    case 1:
    header(“Location: pagina_um.php”);
    break;
    case 2:
    header(“Location: pagina_dois.php”);
    break;
    default:
    header(“Location: go_home.php”);
    }

  42. Julian

    primeiramente parabéns pelos excelentes artigos que vc escreve.

    Amigo, sou iniciante em php e gostaria de saber o seguinte:

    como eu faço por exemplo:

    se o usuário tiver nivel = 1 vai pra restrito1.php
    se o usuário tiver nivel = 2 vai pra restrito2.php
    se o usuário tiver nivel = 3 vai pra restrito3.php

    tentei de várias formas e tá dificil

    mt obrigado..

    abraços

  43. Rodrigo

    desculpa…
    eu que tava fazendo errado
    no arquivo validacao.php na linha
    mysql_select_db(‘database’) or trigger_error(mysql_error());
    tava errado
    minha db é usuarios que nem do exemplo que vc deu no tutu
    ja a do download tava database como db
    ai dava erro

    mais consegui xD

    so uma coisa que achei que vc divia colocar ai no script
    é que quando agente atualiza a pagina agente nao fica mais logado =/

  44. Alexandre Mattos

    Thiago, muito bom seu script, bem explicado e gostaria de agradeçer pelo conteúdo, realmente foi bem escrito e serviu de muita utilidade para quem quer aprender sobre o conteúdo!!! Parabéns!!! Você me ajudou muito … tenho um amigo que queria aprender a fazer um sistema de login e seu Artigo foi sensacional!!! Ele não só conseguiu desenvolver o sistema dele como fez as modificações de acordo com suas características…

    Muito bom também você está sempre respondendo as dúvidas dos usuários, isso é muito importante brother! Você está de parabéns!!!

    Boas! ^^

    Abraço Alexandre

  45. Francisco

    Thiago, parabéns pelo site, tudo muito legal, muito bem feito e caprichado, visitei bastante coisa, e considero o teu site um exemplo. Vou tentar aprender um pouco por aqui. Obrigado e abraços.

    Posso dar uma sugestão? Não entendo nada de PHP, e estou querendo criar uma página bem simples, onde eu (admin), cadastro os usuarios manualmente (só login e senha), e terei uma página individual para cada usuário com informações só para ele (precisaria ser gerada de forma simples, pois quem vai fazer a inclusão de dados é uma pessoa leiga em programação, vai ser algo assim: uma agenda de serviços, ela inclui uma data e um status de como está o serviço…como uma lista..e sempre vai atualizando), e o cliente verifica através de sua senha e login como anda seu processo.

    Deve ser simples, não é? Que tal um tutorial assim? Serviria para muitas pessoas (Alunos, escritorios de advocacia, contabilidade, etc…)

  46. Leandro

    Quando escrevi meu comentário, colocando minha dúvida, em momento algum tive a intenção de por em dúvida a qualidade de seu script. Ao contrário, sou leitor assíduo de seu blog, leio todos os artigos. Minha dúvida é se existe a possibilidade de uma configuração do php interferir no registro da sessão no servidor, pois, como afirmei no primeiro comentário, a sessão não é inicializada. Espero ter escrito de maneira clara e não-ofensiva. Obrigado

    1. Thiago Belem

      @Leandro
      Peço desculpa se respondi de forma “ofensiva”, não foi minha intenção também… Só quis dizer que o script funciona normalmente e provavelmente é erro humano… Teste-o em outro site, sem muita programação. ;)

  47. Leandro

    Caro Thiago, sou trabalho com html a alguns anos e agora estou me aventurando em php, ainda não tenho muito conhecimento… Fiz um teste do sistema aqui explicado, mas a sessão simplesmente não funciona e sempre volta para a página de login. Já tentei quase tudo. Usando o Xdebug, descobri que a sessão nunca é iniciado, mesmo que eu utilize o session_start(), tanto no script de login, quanto no arquivo de verificação do login do usuário. Isso pode ser erro na escrita do script? Desde já agradeço a ajuda recebida.

    1. Thiago Belem

      @Leandro
      O script foi testado por mim e por outras pessoas e funcionou perfeitamente… Verifique se você está fazendo tudo certo e se o seu servidor não tem alguma restrição/má configuração nas sessões..

  48. Delano

    Olha só, consegui colocar o código e adicionar os usuários no banco de dados que estãoi assim,

    11 – administrador – admin – d033e22ae348aeb5660fc2140aec35850c4da997 – admin@demo.com.br – 2 – 1 – 2009-08-07 12:57:37

    10 – usuario – senha – 7751a23fa55170a57e90374df13a3ab78efe0e99 – usuario@demo.com.br -1 – 1 – 2009-08-07 12:56:14

    quando eu acesso a página index.php para logar e coloco
    usuário = administrador
    senha = admin
    aparece login inválido, vc sabe me dizer o que pode estar acontecendo?

    Obrigado!

  49. Delano

    Parabéns, sou um leigo em php e sql, entendo algumas coisas pois tenho uma noção de lógica e C, criei um formulário e consegui cadastrar usuários com senha mas na hora de logar só aparece Login inválido, e quando eu olho no banco de dados tem o login e senha cadastrados mas no campo cadastro os dados são iguais para todos os usuários (0000-00-00 00:00:00) não sei se isso é certo.

    coloquei o código que vc havia dito mas não deu certo.
    INSERT INTO `usuarios` (`id`, `nome`, `usuario`, `senha`) VALUES (NULL, ‘NOME’, ‘USUARIO’, SHA1(’SENHA’));

    Bom, vc manda bem, será que vc pode nos ajudar enviando o código de um cadastro para que possamos entender melhor.

    Obrigado!

  50. Mr Jones

    kra, muito legal isso. Tentei varios exemplos de login, mas nenhum funcionou. O seu além de funcionar ainda está muito bem explicado. Com poucas modificações consegui adaptar para meu site.
    Obrigado!

  51. Rodrigo

    Certo agora sim deu certo, mas uma pequena duvida, e se eu quizesse desencryptar essa senha como faria?

  52. Rodrigo

    Consegui ate fazer o furmalio e ele envia todos os novos dados para o Banco de dados, porem quando vou fazer login ele da rro de login, acho que seja por causa do SHA1 correto?

    1. Thiago Belem

      @Rodrigo
      Na hora de salvar o registro do “novo” usuário no sistema você faria como o exemplo que está no artigo:
      INSERT INTO `usuarios` (`id`, `nome`, `usuario`, `senha`) VALUES (NULL, ‘NOME’, ‘USUARIO’, SHA1(‘SENHA’));

  53. Rodrigo

    Ola Thiago muito bom mesmo seu site, mas a minha duvida é a mesma que a do Pedro, por usar SHA para cryptar as senhas, nao sei como fazer o formulario de cadastro, pode nos passar um exemplo? Obrigado

  54. edson

    Legal..

    desculpe mais uma duvida, como faria para o administrador ter acesso a todas as pagina inclusive a pagina que usuario tem acesso como nivel 2?

    Obrigado

  55. edson

    Parabens, muito legal e facil de entender

    só uma duvida..o logout,necessito criar um botão para ele ou apenas colocar no final da pagina restrita e depois de algum tempo logado ele desloga?

    Obrigado

    Edson

  56. Silvio

    Então, esse é o problema…rs nao consegui fazer.

    A ideia é que o usuário 1, acesse a pasta http://www.meusite.com.br/cliente 1
    que o usuário 2, acesse a pasta http://www.meusite.com.br/cliente 2
    que o usuário 3, acesse a pasta http://www.meusite.com.br/cliente 3

    Com toda a pasta protegida, entende?
    Se o usuario 1 digitar o endereco do cliente 2, tem que dar bloqueado e pedir o login….

    Não consegui direcionar o usuario 1 para o site 1, o 2 para o site 2, o 3 para o site 3 com nenhum exemplo que pesquisei na net…

    Pode me ajudar?

    Muito obrigado

    1. Thiago Belem

      @Silvio
      Isso é uma particulariedade do seu sistema… Proteção de pasta inteira (incluindo arquivos pra download) só com validação de usuarios via htaccess (Apache)… Procure sobre isso.

      Abraços

  57. Silvio

    Boa tarde.
    Estou fazendo um teste, gostaria de uma informação:

    usuario 1, nivel 1 acessa site 1
    usuario 2, nivel 2 acessa site 2

    Como fazer para que o usuario 3, nivel 3 acesse o site 3?

    Grato.

Os comentários estão fechados.