Publicidade (Anuncie Aqui)

View Comments

  1. Obninformatica disse:

    Olá thiago,
    Meu nome é Osvaldo, moro em São Paulo (terra da garoa!! hehehe), atuo como técnico em eletrônica e informática (tenho que apresentar, né!..rsrs)
    Já tem uns dois anos que instalei o WAMP no computador (tem até phpmyadmin e joomla…..bom né!).
    Estava tentando resolver um problema de conflito do css3 com o (temível e chato) IE8 (border-radius), quando achei seu blog que ensina a usar o conhecidissimo jquery (que eu desconhecia até então), enfim, usando sua dica e o plugin de outro tópico ( http://blog.thiagobelem.net/jquery/cantos-arred... ) resolvi o problema que só a droga do IE apresenta, o firefox aqui vai normal em tudo!
    Aproveitando o passeio pelo site, notei que tem um conteúdo riquíssimo em php e mysql, a qual já estou fazendo uso (vou perder esta chance), vou começar com este tópico aqui, estou fazendo a migração do código direto no editor php e ajustando as querys para o mysql (já montei a tela de login com outro tópico : http://blog.thiagobelem.net/mysql/criando-um-si... ) depois eu te conto o que aconteceu.
    Desculpe por abordar vários assuntos num único tema, se eu fosse escrever em todos eles seria cansativo e demorado (aproveitando o lema do jquery “write less, do more”…..hahahahaha)
    Quero agradecer muito pelo conteúdo apresentado em seu blog, é bem proveitoso, PARABÉNS!
    Abraços e muito sucesso…… bye t+

  2. Anderson disse:

    mas como conecta com o banco usando estas classes???

  3. Anderson disse:

    Bom dia thiago, este código é muito bom mesmo, mas não estou conseguindo conectar com o servidor local o apache.Eu uso o” mysql_connec(“localhost, “root”, “”); , mas não estou conseguindo.
    Eu sou novo na área e será que você teria como me ensinar está parte??

  4. henrique disse:

    Ola thiago,
    gostei muito do seu tutorial…
    Mais nao consegui executar o sistema…
    Fica dando usuario invalido.

    Mas, eu copiei seus script inteiro e so mudei o nome da tabela e do banco.

    Isso me trouxe duas duvidas….

    Onde eu determino aonde esta o meu banco de dados ?
    Onde eu coloco o user e a senha do root?

    • Thiago Belem disse:

      @Henrique
      O script não foi feito para ser copiado, colado e usado… Esse é um tutorial de mais de três partes feito para ser seguido passo-a-passo.

      É você quem deve fazer a conexão ao banco de dados, o script não se conecta ao banco de dados, ele apenas acessa o banco de dados usando uma conexão pré-estabelecida por você.

  5. Parabéns pelo blog. Ja assinei os feeds….
    bo, eu só simplificaria a última linha:
    return ($total == 1) ? true : false;
    para
    return (bool) $total;

  6. Vinícius Almeida disse:

    Parabens pelo tuto! ^^

  7. Ricardo disse:

    Oi thiago, td bom!

    Estou tentando usar essa classe no site que estou fazendo e estou com uma dúvida, lembrando que sou iniciante e estou aprendendo PHP e MySQL.

    No banco de dados vc usa varchar 40 para senha, como eu poderia fazer pra colocar uma validação de senha, tipo, tem que ter no mínimo… do jeito que vc fez qual seria o tamanho máximo permitido e o que será permitido no campo senha, letras, caracteres e numeros??

    Você poderia explicar isso, obrigado!

    • Thiago Belem disse:

      @Ricardo
      Vamos lá… Primeiro que o sistema é um sistema de login e não um sistema de cadastro de usuários… Ele vai usar os dados que já estiverem na tabela e não inserir dados nela.

      Coloquei VARCHAR(40) pois 40 caracteres é o que a encriptação SHA1 ocupa, então, se o seu sistema usar MD5 ou SHA1 a senha já vai caber naquele campo perfeitamente… Mas como o sistema vem, por padrão, usando senha em texto plano (sem nenhuma modificação) você pode armazenar o que quiser no campo de senha… até _-+-_=__-+-_=_ vai ser uma senha válida.

      A validação do que pode ser uma senha, do seu tamanho mínimo e máximo e da exigência de tipos de caracteres deve ser do seu sistema. :)

    • Ricardo disse:

      Ok. Entendi. Agora mais uma dúvida, eu poderia utilizar pra fazer o cadastro de usuários essa mesma tabela que você utilizou pra fazer esse sistema de login ou eu teria que fazer uma outra??

      Você teria como postar um script de cadastro de usuários?

      Obrigado!

    • Thiago Belem disse:

      @Ricardo
      Você pode usar a mesma tabela sim… “Cadastar um usuário” nada mais é do que inserir um registro na tabela de usuarios.

    • Ricardo disse:

      Então eu só preciso fazer um formulário de cadastro de usuário pra salvar no banco de dados e um outro de login pro usuário logar, dai sim vou poder usar a classe que vc ensinou, correto?

      Vc tem algum script de cadastro de usuários pra passar pra gente?

  8. Rodolfo disse:

    Se eu usar essa classe com mysqli terá alguma diferença significativa?
    Vou ter que muda o código?
    òtimo artigo parabéns

    • Thiago Belem disse:

      @Rodolfo
      Não há diferença se você quiser usar ela com MySQLi… vai funcionar da mesma forma. Você só vai precisar mudar a classe onde ela faz todas as consultas ao MySQL.

  9. Wilson disse:

    Bom dia,
    Por que você colocou os atributos banco de dados e tabela na classe de usuários?
    Um abraço.

    • Thiago Belem disse:

      @Wilson
      A classe foi projetada para ser o mais customizada o possível… Se a pessoa que for usar a classe tiver um banco de dados com um nome diferente, ou uma tabela de usuários chamada “user” é só mudar ali e tudo fica certo. :)

  10. Luiz Cantra disse:

    Thiago parabéns pelo artigo! Estou com uma dúvida sobre a consulta:
    $sql = "SELECT COUNT(*) FROM `{$this->bancoDeDados}`.`{$this->tabelaUsuarios}` WHERE `{$this->campos['usuario']}` = '{$usuario}' AND `{$this->campos['senha']}` = '{$senha}'";

    O que de fato ela irá retornar? Estou confuso por causa dessa declaração count(*)

    Nessa linha você esta pegando o id do resultado?
    $total = mysql_result($query, 0);

    Se puder responder essas dúvidas ficarei muito agradecido…

    • Thiago Belem disse:

      @Luiz
      O COUNT(*) traz o total de resultados encontrados (filtrados) pela cláusula WHERE… Nesse caso eu estou buscando o total de usuários que contenham aquele usuário e senha…

      Já o mysql_result() pega o resultado de uma consulta da mesma forma que o mysql_fetch_assoc(), a diferença é que o mysql_result() é usado quando temos 1 resultado só… Dê uma olhada na Parte 3, lá eu faço uma correção nessa parte do código e explico um pouco melhor.

      Abraços e obrigado pela participação

  11. LEo Baiano disse:

    Gostei da classe, acho que na liha

    $total = mysql_result($query, 0);

    Você quis dizer:

    $total = mysql_result($query, 1);

    Da forma que esta no código o método validaUsuario sempre vai retornar false.

    • Thiago Belem disse:

      Eu percebi essa falha na 1ª aula quando usei mysql_result($query, 1), mas se você olhar na documentação, o número de registros (segundo parâmetro) começa em 0… Vou procurar outra forma de fazer isso quando lançar a parte 3.

      Abraços e obrigado pela participação! :)

  12. Nando Petry disse:

    Opa… Blz Thiago,

    Parabéns pelo blog, gostei de você começar a abordar classes, pois é muito dificil achar bons materiais de classes e objetos… estarei aguardando a continuação.

    Valew por compartilhar seus conhecimentos.

  13. Leandro disse:

    Muito bom thiago, conseguiu melhorar ainda mais o sistema de login que voce ensinou aqui. Excelente cara, esperando a segunda parte. Valew.

  14. Daniel Bento disse:

    Olá. Achei o teu blogue à pouco tempo. Bastante construtivo e com tutoriais porreiros.

    Só um detalhe neste, por boa prática, no php.net recomenda-se a que não se use nomes de funções começadas por __ (dois underscores). Apesar de o nome aqui ser em português, para quem costuma programar em inglês pode originar conflito com funções especiais da linguagem.

    Um bom ano novo!

    Daniel Bento

    • Thiago Belem disse:

      @Daniel Bento
      Na verdade o uso de dois underscores no começo do nome de um método transforma ele em privado, isso vem da época do PHP4 onde não existia a visibilidade de propriedades ou metodos, por isso, ao invés de criar um “private function meuMetodo()” você cria um “function __meuMetodo()”, assim o método será privado tanto para quem usa PHP4 ou PHP5+. :)

  15. Mauricio disse:

    Feliz ano novo…!

    Otimo blog cara…

  16. Mario disse:

    Feliz Ano Novo, sera que fui o primeiro a ler? bom tutorial, vou ficar aguardando a segunda parte, abraços e fica com Deus

blog comments powered by Disqus