Publicidade (Anuncie Aqui)

View Comments

  1. Gabriel Lau disse:

    Sim, testei em todos, mas descobri o erro agora.

    Na sua classe, você utiliza o campo “usuario” da tabela, e no meu caso o campo era “login”. Então, tive que alterar manualmente em todos os lugares que faziam referência a este campo, mas acabei não retirando na parte que faz a validação do cookie no método usuarioLogado().

    Depois que vi isso, funcionou direitinho.. xDD

    Mas valeu aí a ajuda…

    • Thiago Belem disse:

      @Gabriel
      Existe uma parte na configuração da classe que você pode definir em qual campo está o “usuário”… É uma parte onde tem:

      <code>’usuario’ => ‘usuario’</code>

      Aí é só você mudar para:

      <code>’usuario’ => ‘login’</code>

      E tudo deve funcionar. :)

    • Gabriel Lau disse:

      É mesmo, valeu Thiago, não me atentei a isso no começo daí tive que modificar tudo na mão, aí acabei me atrabalhando um pouco.. mas valeu.. tá funcionando direitinho agora…

      Mas uma coisa que eu reparei: quando passa um certo tempo, a sessão acaba, e o usuário tem que se logar dinovo. É a classe que faz isso? Pq antes de ajeitar essa parada dos Cookies… a sessão não esgotava de jeito nenhum…

      Ness caso, como que eu faria pra voltar pra página que estava antes da sessão acabar? Salvando em uma sessão também?

      Ficaria massa implementar isso na classe também.. ;)

  2. Gabriel Lau disse:

    Daew Thiago,
    Tava tentando resolver aquele problema do cookie de novo mas o erro continua. Já testei o script tanto local (server Apache), quanto no Locaweb.

    O lance ainda é o mesmo.
    Se eu setar <em><b>var</b> $cookie = false</em> na classe, eu consigo validar corretamente o usuário, mas o cookie não é criado e quando o browser é reaberto, as informações são perdidas.

    Mas se eu setar <em><b>var</b> $cookie = true</em>, quando eu faço a verificação para se o usuário está logado ou não, ele informa que o cookie ou a sessão não foram definidas:
    <code>Notice: Undefined index: user_auth-usuario</code>

    Onde poderia estar o erro?

  3. Thiago,

    O sistema está ok, agora só estou com uma duvida, como fasso para quando o usuário se logar, e entrar novamente na pagina de login, ela ja redirecione automaticamente para a pagina restrita.

    Atenciosamente,
    Hugo Fabricio

  4. Ola Thiago

    Ótimo script man. Parabéns.

    Uma dúvida. Há algum motivo em especial, talvez de segurança, para que o script consulte duas vezes a tabela?

    Pensando em sistemas com grande quantidade de acesso, seria ideal consultar somente uma vez ja pegando todos os dados necessarios do usuario.

    Um grande abraco

    • Thiago Belem disse:

      @Gabriel
      Motivo especial propriamente dito não há… Mas eu – pessoalmente – prefiro fazer esse tipo de rotina… Verificar se o usuário existe antes de pegar os seus dados.. Pois assim eu evito [teoricamente] uma possibilidade de SQL Injection na consulta que pega os dados do visitante.

  5. Vinícius Almeida disse:

    Cara, eu uso o NetBeans e digo, essa documentação PHPDoc é muito boa!

    Quando digita-se o “$this->” já aparece todos os métodos e variáveis da classe!

    Facilita muito!

    Obrigado pelo tutorial!

  6. Lucas dox disse:

    Thiago, tudo em paz?
    Cara a não está iniciando a sessão, o que poderia ser?

    “Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent ”

    Abraço

  7. Atila Delcanton Rampazo disse:

    SHOW DE BOLA PARABENS!

  8. Ricardo disse:

    Fala Thiago,

    Eu denovo, creioooo que funciona rsrsrs,muito show este teu script, cara uma coisinha, ele recorda a senha do cookie somente com a sessao aberta, depois nao lembra mais, sera por que?
    Bixo podia implementar pra nos ai uma funcao esqueçi minha senha, aquela tradicional enviada por email…
    Tb podia fazer um artigo de como criar uma pagina de area de membros tipo dos fouruns hehehehe.

    Forte abraco

    Ricardo

  9. Michael Brito disse:

    Mas aí é q tá, aparentemente, tá tudo certo.
    O banco de dados e a tabela estão corretos, o usuário eu cadastrei no banco de dados, transformei a senha em md5 e salvei lá. E não vai de jeito nenhum. Até fiz algumas alterações, mas não adiantaram muita coisa. Também fiquei na dúvida em relação ao campo senha duas vezes, que o Joabe falou aí em baixo. Outra coisa, em canto algum tem conexão com o banco de dados. Como que ele consegue pegar informações sem se conectar ao banco? não entendi…

    • Thiago Belem disse:

      @Michael
      1 – Se a sua senha está sendo salva em MD5 você precisa fazer modificações no método codificaSenha() da classe Usuario para ela retornar a senha passada ($senha) em MD5.
      2 – O campo senha não precisava estar lá duas vezes, vou fazer a correção.

  10. Joabe disse:

    Thiago, nesses campos do array ai no class, o campo senha é apresentado duas vezes mesmo?

  11. Michael Brito disse:

    Não deu certo, apareceu:
    Erro: Usuário inválido

  12. ricardo disse:

    Fala Thiago,

    Show de bola, funfa tudo somente a senha nao lembra, que poderia ser?

    abs

    ricardo

  13. Amauri disse:

    Cara, vc podia dar um help postando como fazer pra ele conversar com o banco?

  14. Joabe disse:

    Cara existe a possibilidade de você publicar um exemplo pratico de como ultilizar o class no formulario de login com o checkbox de lembrar senha?

  15. Gabriel Lau disse:

    @Thiago,

    outro problema que estou tendo é quando eu marco o campo de “lembrar dados”.
    Eu fecho o browser, e quando retorno ele dá esse erro:


    Warning: Cannot modify header information - headers already sent by (output started at ...) in D:www2meusite_incsclassesusuarios.class.php on line 432

  16. Gabriel Lau disse:

    Thiago, ficou bem bacana essa nova versão, tá bem organizada e talz.. :p

    Mas eu ainda estou tendo problemas com os coockies, igual a versão anterior.

    Se eu setar var $cookie = false;, a minha validação if ($userClass->usuarioLogado()) {…}, funciona legal, mas se eu setar var $cookie = true;, essa validação deixa de funcionar…

    O que será que está errado?

  17. Ronald disse:

    Thiago, muito show parabéns, vou utilizar esse script como base para um projeto que estou fazendo..

    Thiago, você indica alguma leitura para PHP OO e PHP Doc?

    abraços!

  18. Potter W. disse:

    Muito Show Thiago!! Eu sou novo nesta area (PHP), mas to aprendendo bastante contigo!!! Vlw por compartilhar os seus conhecimentos =D

  19. Leandro disse:

    Agora fiquei com mais vontade de usar esse sistema de login. Simplemente completo! Ae cara gostei do CAPTCHA.

  20. Fernando disse:

    Olá Thiago!! Gostei do tutorial parabéns! Estou com uma dúvida…
    Essa maneira que você de fez o sistema de login entitulado “[...] ensina a criar um sistema de logins usando classes no PHP” seria programação orientada a objetos ou é programação estruturada dentro de uma definição de classe?
    Abraços…

blog comments powered by Disqus