Painel de administração com PHP + OOP - Aula 08

Aviso importante!

Eu sei que você não quer ver propagandas, porém o conteúdo gratuito só está aqui graças a publicidade. Considere desativar o AdBlock para esse site.

Sejam todos bem vindos à mais uma aula do curso de criação de um painel administrativo utilizando PHP e orientação a objetos. Nesta aula vamos iniciar o processo de cadastro de usuários, criando o formulário para que isto seja possível e também a rotina de inclusão dos dados. Ao final desta aula já teremos incluído nosso primeiro registro no banco de dados.

Mais posts desta série

Este post faz parte de uma série, confira tudo que já foi publicado sobre o mesmo assunto.

Sobre o autor

Ricardo Bernardi

Sou técnico em hardware e desenvolvedor web, e sobre estes dois assuntos comecei a compartilhar aulas e artigos, tornando-me blogueiro em 2008. Em 2010 esse hobby virou profissão, e desde então tenho buscado melhorar e profissionalizar cada vez mais os projetos que mantenho na web.

Comentários

Atualmente temos 33 comentários para este post. Participe você também, clique aqui e comente sobre o assunto.

  • Guilherme Vasconcelos comentou em

    Olá, Ricardo.
    Estou com um problema nesta vídeo aula exatamente. Nas validações dos campos vazios. O mesmo tem 5 campos que precisam ser preenchidos, e o mesmo aparece apenas em 3 campos, email e senha não aparece abaixo a validação. Porém, quando vou inserir algo no email que é restringido pela validação do jquery, o mesmo aparece a validação, mas substituindo a validação acima (nome) para o email, no caso, estão no mesmo local. Saberia o que poderia ser? Estou revendo tudo e não obtive êxito, ainda.

    Grato.

    Responder
  • Angelo comentou em

    Olá Ricardo!
    Muito boa suas aulas, parabéns!
    Estou com um problema na validação do formularios. o JS inserido no php não funciona.

    $(document).ready(function(){
      		 $(".userform").validate({
      		  rules:{
      			nome:{require:true, minlength:3},
      			email:{require:true, email:true},
      			login:{require:true, minlength:5},
      			senha:{require:true, rangelength:[4,10]},
      			senhaconf:{require:true, equalTo:"#senha"},
      		  }
      	   });

    No console não me retorna nenhum erro, o que me dificulta a solução. Será algum versionamento do JS?
    Agradeço sua ajuda.
    Abraço!

    Responder
  • fbrandao comentou em

    baixei os fontes e instalei. Quando abre a tela de loginaparece asmensagens
    Notice: Undefined variable: pathlocal in C:\webserver\Apache2.2\htdocs\aulas\php\paineladm\classes\autoload.php on line 6
    Notice: Undefined index: usuario in C:\webserver\Apache2.2\htdocs\aulas\php\paineladm\modulos\usuarios.php on line 38
    Notice: Undefined index: erro in C:\webserver\Apache2.2\htdocs\aulas\php\paineladm\modulos\usuarios.php on line 47

    Responder
  • beowlf comentou em

    boa tarde! Ricardo

    estou seguindo a risca suas aulas e estou gostando muito do curto, porem cheguei em uma parte que nao sei como resolver

    INSERT INTO crm_usuarios (nome, email, login, senha, ativo, administrador, datacad) VALUES ('', '', '', '', '', '', '') Ocorreu um erro com os seguintes detalhes:
    Arquivo: C:\wamp\www\paineladm\classes\banco.class.php
    Rotina: executaSQL
    Codigo: 1062
    Mensagem:

    verifiquei tudo no arquivo banco.class.php mas nao consigo achar o problema

    voce pode me ajudar ?

    fico no aguardo

    Atenciosamente

    Fabiano

    Responder
      • Angelo comentou em

        Olá!
        Me acontece esse problema, porém até antes de enviar ao banco. O Post não envia os dados para o array
        [tabela] => usuarios
        [campos_valores] => Array
        (
        [nome] =>
        [email] =>
        [login] =>
        [senha] =>
        [administrador] => N
        )

        Responder
  • Olá ricardo mais uma vez, obrigado..
    Estou incrementando o seu código pois achei bem lógico e direto, estava codificando até ver um problema, como estou na aula 8 não sei se você corrige nas próximas aulas, o arquivo config.php com as paths do sistema está desprotegido, por falta de lógica e conhecimentos, travei aqui, se eu tentar usar a function protegeArquivo(); nele, o sistema vai dar erro dizendo que a path BASEPATH não foi definida, tem alguma dica para proteger ele de acesso direto sem que dê erros com respeito as paths?

    Responder
      • Certo, vou validar, tbm queria estudar sobre isso e url amigaveis, como a do rbtech.info, onde no modulo de desenvolvimento, voc muda antes do dominio exe: dev.rbtech.info e por que fazer isso, tenho muitas duvidas mas vou correr atrás, vlw abraço ricardo.
        Parabéns pelo excelente trabalho.

        Responder
  • André Ventura comentou em

    Olá Ricardo,

    até aqui tudo funcionando perfeito. Agora, veja se pode me dar uma dica. Preciso criar mais um nível no menu "siderbar". Não estou conseguindo, acredito, por conta do css. Me parece qur não é so criar mais uma tag dentro da . Tenho que de alguma forma adequar também o css. É certo esta afirmação ? Pode dar alguma dica ?

    Obrigado.

    Responder
      • André Ventura comentou em

        Putz! Esqueci do JS. Valeu a dica Ricardo. Já localizei aqui e estou me virando. Só sigo para a aula 9 quando fechar esta questão (é assim que venho aperfeiçoando o que aprendo contigo).

        Muito Obrigado.

        André Ventura

        Responder
  • Tom comentou em

    Ricardo, boa tarde.
    Já revi a aula várias vezes, refiz o código e ainda não descobri por que meu post não envia os dados para o banco de dados. Eu printei as informações que o post envia para o banco e ele retorna NULL.
    Você teria alguma luz para me dar?

    Obrigado.

    Responder
      • Cara, qual a solução pra esse problema do Null, dei um var_dump($user); e ele exibe os valores todos nulls, fui eliminando parte por parte, pois poderia ser erro de form, mas nada... alguma ideia meu amigo?

        Responder
  • Tom comentou em

    Boa noite!
    Estou com um problema com meu array, não está pegando as informações do POST.
    O $user = new Usuarios(array... está retornando valores vazios, ele cria o usuário, mas sem as informações digitadas.
    Alguém sabe como resolver isso?

    Abraço.

    Responder
    • bravo comentou em

      Talvez possa ser um problema de case-sensitive no objeto "Usuarios" , pois na aula ele poe "usuarios"... Muitos dos problemas ocorrem ai...;)

      Responder
  • Michelle comentou em

    Olá Ricardo! Estou acompanhando suas aulas, em usuarios.php
    está dando erro de sintaxe. Percebi que ele não está codificando a senha.

    Mas se troco por senha o erro some. Quando abri o banco de dados ao invés de estar com a senha codificada ele me mostra a senha que criei.

    Tá dificil encontrar o erro,pode me ajudar?

    Responder
  • zumba65 comentou em

    olha... peço desculpas por incomodar... deveria ter prestado atençao no C.R.U.D.. pois o erro estava la
    ja acertei....
    agradeço e... pode desconsiderar o post anterior

    Responder
  • zumba65 comentou em

    Ola Ricardo.
    Em primeiro lugar gostaria de dizer que você simplesmente é o MELHOR PROGRAMADOR PHP QUE EU JA VI (e olha que andei "sondando" pela internet afora). Sua didática é excelente. Por isso resolvi me filiar ao blog.

    Estou seguindo passo a passo o seu curso e estou com um problema parecido com o colega Alan.Mas o que acontece é que o meu array esta retornando com valores vazios. Ou seja o meu POST do formulario userform nao esta enviando os valores que digitei.

    dei um print_r e veja a resposta:

    código fonte fora das regras

    por favor me ajude... a proposito. As classes do CRUD funcionaram direitinho

    Responder
  • Alan comentou em

    Boa tarde, acompanho suas aulas e são muito boas.Sou iniciante em php e estou enfrentando um erro com esse carinha aqui

    $user = new usuarios(array(
    'nome'=>$_POST['nome'],
    'email'=>$_POST['email'],
    'login'=>$_POST['login'],
    'senha'=>codificaSenha($_POST['senha']),
    'administrador'=>($_POST['adm']=='on') ? 's' : 'n',

    reparei que que quando chamo o

    $user->inserir($user);

    ele alimenta minha select dessa forma

    INSERT INTO admuser (VALUES (

    dei um echo pra pra pegar e é isso que tá mostrando. Alguém teve esse problema e pode me ajudar ?

    Obrigado e repito muito boa as suas aulas.

    Responder
      • Alan comentou em

        Ricardo Obrigado pela resposta, consegui achar o problema e realmente era realmente arquivos anteriores. Valeu pela ajuda e suas aulas são boas demais. Tô viciado

        Responder
  • Diogo comentou em

    oi bom dia, agradeço muito por nos ceder um pouco de seus conhecimentos.

    sou iniciante na area de php mas gostaria muito de proceguir, mas estou enfrentando uns probleminhas.
    1) meu xampp 1.7.4 diz que esta tudo em ordem, porem nao onsigo acessar algumas areas exemplo securyt: "warning requiere ...faled open stream...online 4 ou 14..
    2) quando faço os codigos = ao mostrado em suas aulas aparece o codigo em pho na pagina...
    poderiam me dar um auxilio por gentileza...

    estou divulgando seus trabalhos no meu curso, e esta sendo muito bem recebido esperamos que continuem assim e muito sucesso a todos vcs obg pela atençao..
    atenciosamente Diogo

    Responder
  • Kaique Merlo comentou em

    Olá,
    sensacional a aula, pena nao ter tantos compartilhamentos quanto deveria...
    Ricardo, trabalho com desenvolvimento de sistemas em linguagem c# e VB.net, vendo meu software e o cliente nao tem acesso ao fonte, porém, estou penando em desenvolver alguns destes softwares em PHP e ai que surge a dúvida, tem algum modo em que o usuario nao tenha acesso ao fonte com php?

    Obrigado!

    Responder
  • Ricado parabéns pela vídeo aula, obrigado por compartilhar conosco seu conhecimento esta de parabéns!

    Estou com um problema grave aqui Ricardo revisei todo o conteúdo que tenho aqui e pelo que me parece está tudo certo porém quando tento cadastrar um novo usuário pelo formulário me mostra este erro:
    "Warning: reset() expects parameter 1 to be array, null given in E:\EasyPHP-5.4.0RC4\www\paineladm\classes\banco.class.php on line 54"

    Eu não consegui entender o porque disto se na aula obteve sucesso.. você poderia me ajudar?

    Responder

Deixe seu comentário