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

Sejam todos bem vindos à mais uma aula do curso de criação de um painel administrativo utilizando PHP e orientação a objetos. Iniciamos nossa aula de hoje criando a função de carregamento de módulos e mostrando o funcionamento da mesma.

Em seguida criamos a tela de login e a função que irá impedir o acesso direto aos arquivos do sistema como módulos e classes. Para finalizar nossa aula iremos formatar o formulário de login com CSS e usar jQuery para agilizar algumas formatações, deixando assim nossa tela de login totalmente estilizada de maneira simples porém com uma boa aparência.

Mais posts desta série

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

Gostou do post? Agradeça o autor compartilhando nas redes sociais:

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 50 comentários para este post. Participe você também, clique aqui e comente sobre o assunto

  • Thiago Dias . comentou em

    Cara eu tenho só 14 anos é ja aprendi muito com o Rbtech , suas aulas são fantasticas , muito bem explicadas , parabéns !!

    Sucesso !

    Responder
  • Marcio comentou em

    Olá Ricardo.
    Muito Boa a vídeo-aula, estou aprendendo muito com você. Obrigado por compartilhar seu conhecimento conosco.
    Não acho justo que por culpa de uma minoria de engraçadinhos que tentam burlar o sistema todos tenham que pagar por eles. Acho que a maioria está sendo correto compartilhando somente uma única vez as aulas.
    Você poderia então aumentar o número de shares ao invés de cancelar o curso. O que acha?

    Responder
    • Sei que não é justo, mas ao menos assim as pessoas vão entender que eu não estou aqui brincando de ser blogueiro e muito menos brincando de fazer aulinhas. Sempre prezo pelo profissionalismo e é o que eu espero receber em troca.
      Se eu aumentar o número de shares vai continuar a mesma palhaçada...

      Responder
  • Natan Alves comentou em

    Você disse:

    O objetivo deste curso é alavancar a divulgação do blog e não a receita financeira, uma vez que poucos ajudam na tarefa de divulgar, agora somente terá conteúdo se todos se empenharem em um mesmo objetivo.

    Que diferença faz uma mesma pessoa compartilhar?
    Ela esta divulgando certo?.

    Responder
    • Sim, ele está divulgando e cumprindo o objetivo, mas deixa eu lhe perguntar: você vê no jornal por exemplo o mesmo anúncio várias vezes na mesma página?
      A questão não é a divulgação, o fato é que a pessoa está usando de uma forma "corrupta" de antecipar as publicações, ela não está interessada em divulgar, mas em trapacear o sistema a fim de contabilizar mais shares rapidamente.

      Responder
  • Marcio comentou em

    Olá Ricardo, respeito muito sua opinião e seu profissionalismo, mas sempre tem aqueles palhaços que o único objetivo é atrapalhar, tumultuar o que é bom, o prazer deles é exclusivamente fazer o mau e isso nunca vai mudar.

    Responder
  • Enrico comentou em

    Acho que só o @buscamoc fez isso. Você irá publicar quando então? nova meta de shares ou atrasar 12 dias :(

    Responder
    • Vou publicar esta semana ainda e aguardar pra ver se o episódio não se repetirá mais... tomara que todos tenham entendido o recado e façam cada um sua parte.

      Responder
  • Jonnhy Matos comentou em

    Saudações Ricardo
    Acho isso uma tremenda sacanagem da parte dessas pessoas.
    São poucos os que tem a boa vontade de compartilhar tanto conhecimento de forma aberta e bem apresentada como você, aí vem essas pessoas e acabam com as expectativas de quem realmente quer aprender e não tem como comprar um premium como eu(Se eu tivesse condições não pensaria duas vezes pra comprar). Quem acaba perdendo é quem quer aprender, como eu e algumas pessoas. Faço minha parte divulgado o site nas redes sociais que uso e não custa nada ter paciência e ser honesto. É por isso que não dá gosto de fazer nada. Se fosse obrigatório pagar, eu tenho certeza que estavam todos falando mau. Mas como é gratis, não valorizam o trabalho que da fazer uma aula dessas e ainda esculhambam com o curso.Isso é repugnante. Uma sugestão, será que não tem como você saber quem está fazendo isso e bloquear o acesso ao site? Grande abraço cara e espero poder continuar com o curso.

    Responder
    • Saber quem está fazendo tem sim pois todo mundo tem um perfil nas redes sociais, mas bloquear o acesso não tem como e se tivesse eu não faria, acima de tudo respeito o "direito de ir e vir na internet".
      Acredito mais na conscientização e educação, espero que este episódio se encerre aqui e todos possam continuar aproveitando o conteúdo.

      Responder
  • Pessoal, em respeito a quem fez sua parte honestamente eu já agendei a próxima aula, mas vou continuar observando o comportamento de alguns perfis nas redes sociais...

    Responder
  • Jonnhy Matos comentou em

    Muito obrigado Ricardo.
    É realmente lamentável essa atitude dos que não tem interesse em aprender e só prejudicar os outros.
    Pode ter a certeza que somos muito agradecidos à você.

    Responder
  • Olá Ricardo, mas uma vez estou aqui para lhe parabenizar pela vídeo aula e também tenho uma dúvida..

    Eu fiz conforme a aula e tudo está saindo certo, porém o conteúdo não sincroniza o css, mesmo estando sendo chamado normalmente, você saberia me responder o porque?

    Responder
  • Leandro comentou em

    Olá, professor!
    Estou parado no parte para testar a modulo usuário, quando passo a pela função que chamamos na index o modulo= usuarios e a tela = login. Não sei o porque a variavel tela não aparece fiz um echo no arquivo usuarios so printa o modulo e minha estrutura foi montada aula por aula esta exatamente igual, mas o case so vai no default porque nao le a variavel tela? Prof. tem alguma sugestão do que possa estar acontecendo?
    Obrigado.

    Responder
  • Luiz comentou em

    A aula 2 contém o download do presente curso permite fazer o download do "Painel de administração com PHP + OOP". Esse link é para o curso completo já finalizado? Se sim, são quantas aulas ao todo?

    Pretendo fazer a assinatura premium...

    Responder
  • Edson Cardoso comentou em

    Amigo muito bom o curso!
    Mas estou com o seguinte problema na função protegeArquivo()
    sempre quando eu uso ela o redirecionamento cai em um loop infinito e da erro! o que fazer?

    Responder
  • Edson Cardoso comentou em

    Para ser mais especifico é isso que aparece.
    Esta página da web tem um loop de redirecionamento.
    página da web em http://localhost/painelADM/index.php?erro=3 resultou em muitos redirecionamentos. Apagar seus cookies para este site ou permitir cookies de terceiros pode resolver o problema. Se não resolver, talvez o problema esteja na configuração do servidor, e não em seu computador.
    Veja algumas sugestões:
    Recarregue esta página da web mais tarde.
    Saiba mais sobre este problema.
    Erro 310 (net::ERR_TOO_MANY_REDIRECTS): Houve muitos redirecionamentos.

    Responder
  • jeovane lemes comentou em

    Oh Ricardo então nesta aula estou tendo um problema depois que crio o formulario conforme a sua video aula da este erro ja revisei todos os scripts e não achei algum erro e esta dando este erro na tela...

    Usuário: ( ! ) Notice: Undefined index: usuario in C:wampwwwaulasphppaineladmmodulosusuarios.php on line 15 Call Stack #TimeMemoryFunctionLocation 10.0015140152{main}( )..index.php:0 20.0054153312loadmodulo( )..index.php:23 30.0084156896include_once( 'C:wampwwwaulasphppaineladmmodulosusuarios.php' )..funcoes.php:35 " />
    Senha: ( ! ) Notice: Undefined index: senha in C:wampwwwaulasphppaineladmmodulosusuarios.php on line 19 Call Stack #TimeMemoryFunctionLocation 10.0015140152{main}( )..index.php:0 20.0054153312loadmodulo( )..index.php:23 30.0084156896include_once( 'C:wampwwwaulasphppaineladmmodulosusuarios.php' )..funcoes.php:35 " />

    Responder
  • jeovane lemes comentou em

    Acho que resolvi Ricardo fiz as configurações do Wamp conforme vc mostrou na sua video aula e sumiu os erros, valew Ricardo, agora sei porque os programadores cobram caro um site completo, da muito trabalho mesmo estou ha semans acompanhando seu trabalho e como sou teimoso quero conseguir concluir o meu trabalho que nem nas suas video aulas e vou reconfigurar e atualizar minhas redes sociais e ajudar na sua campanha..
    Que Deus sempre abençõe seus caminhos para que sempre ilumine seus pensamentos... Valew brother forte abraço...

    Responder
  • Clauberson comentou em

    Olá Ricardo, suas aulas estão sendo muito valiosas pra mim, sou novo em php e estou sempre a procura de coisas novas, nesta aula o redirecionamento não estava dando certo quando colocava header location, porque tem que estar bem acima de tudo pra redirecionar, ai vai uma solução pra estiver passando a mesma coisa que eu passei, com isto funcionou belezinha. Obrigado.

    Responder
  • Leandro Marques comentou em

    Boa noite Ricardo..

    Seguindo a suas video aulas me deparei com um problema, que talvez seja do IE ver.10, as bordas arredondadas não estão funcionando. Seria realmente um problema do IE ?

    Responder
  • mandyrs comentou em

    Bom dia Ricardo!
    Em primeiro lugar, gostaria de parabenizá-lo pelo ótimos trabalho q vc vem desenvolvendo ao longo do tempo.
    Eu estou enfrentando o mesmo problema que o Jeovane Lemes nesta aula 3. Já revi todo o código várias vezes, ja revi a configuração do meu banco de dados e continua a mesma coisa.
    Seria abuso da minha parte perdir-lhe um e-mail para q eu possa mandar o script para vc dar uma olhada para mim e assim me ajudar a resolver?
    Agradeço desde já!
    Atenciosamente
    Carlos Vargas

    Responder
    • Notice não é erro, você pode ocultar os notices do servidor ou então fazer um condicional na variável em questão para saber se ela tem algum valor antes de tentar usá-la.

      Responder
  • Tito comentou em

    Olá Ricardo, eu estou com um problema no CSS, eu faço igualmente o que você mostra em suas Video Aulas mais não consigo aplicar o style.css na minha tela de login, poderia me ajudar ?

    Responder
  • Giulia comentou em

    Olá Ricardo, conseguiste logar o sistema com login: admin e senha: admin , mas como fizeste isso? Obrigada!

    Responder
  • cowndhor comentou em

    Boa noite Ricardo estou acompanhando o Criando um painel de administração em PHP - Aula 03 e estou tentando executar o style e esta apresentando um erro na linha 1 #loginform e quando atualizo a pagina continua da mesma forma da primeira criação, estou seguindo todos os passos e não estou conseguindo achar o erro, pode me ajudar?
    Obrigado!

    Responder
  • André Ventura comentou em

    Problema com preg_match.

    Ricardo,

    acabei de montar a função protegeArquivo($nomeArquivo,$redirPara='index.php?erro=3') e o if() com o preg_match("/$nomeArquivo/i", $url) e o echo 'arquivo deve ser protegido' neste if. Acontece que ao chamar o site, não está sendo mostrado o echo 'arquivo deve ser protegido' (estou fazendo a chamada no usuarios.php devidamente).

    Percebi que a variável $nomeArquivo está vindo com "usuarios.php" e a $url com "/paineladm/index.php", sendo assim o preg_match não funciona mesmo.

    Quando eu escrevi na url o endereço completo 'localhost/paineladm/modulos/usuarios.php funcionou. Pergunto:

    - No teste que vc fez em sua aula, era para eu escrever a url completa ou ao chamar o index.php, já deveria mostrar o modulo com o usuario.php na url de forma automática?

    Obrigado.

    Responder
  • Natanael Sampaio comentou em

    Ricardo ja assisti outras aulas do bloq e você passa com propriedade cada assunto. Parabéns!!!
    Iniciei as aulas do painel adm e estou com um erro no modulo usuarios onde a variavel tela diz não ser informada dentro do switch.
    por gentileza aguardo sua resposta. Obrigado.

    Responder
  • mgiratto comentou em

    Ricardo onde posso estar errando, alias tudo esta mil maravilhas, estou aprendendo muito com vc viu, mais uma vez parabens pelo maravilhoso trabalho, mas vamos a duvida, meu css não esta centralizando os campos usuario e senha e nao esta colocando os titulos alinhados a direita, sendo assim, fica alinha tudo a esquerda, ficando espaço no final das duas linhas e o botão esta no centro. Onde posso estar errando, formata tudo o css, até as bordas arredondadas, mas não centraliza os dados dentro da div, vc pode me ajudar ?

    Responder
      • Marcelo Giratto comentou em

        Ricardo, cara revisei linha por linha com sua video aula, e não tem nada de errado, pelo menos nao encontrei nas 2 x que revisei, gostaria de saber se eu te mandar os meus arquivos vc pode me ajudar a encontrar o erro, desde já muito obrigado por tudo e pelas video aulas. Se sim, qual email eu mando ?

        Responder
  • Marcos comentou em

    O codigo de colocar bordas no geral.js nao funciona para mim. Estou usando o navegador GoogleCh.

    $(document).ready(function(){
    	$("input").addClass('radius5');
    	$("fieldset").addClass('radius5');
    	$("textarea").addClass('radius5');	
    });

    Testei adicionar o radius5 por class="" e funcionou corretamente.
    Ao olha o codigo fonte da index, a pagina acha o caminho correto ate o geral.js...

    Nao sei mais oque tentar.
    Obrigado, Muito boa as aulas =P

    Responder
  • Nilson Gomes de Lara comentou em

    Olá Ricardo primeiramente quero te agradecer por estas aulas maravilhosas, estou acompanhando passo a passo e estou aprendendo muito com suas aulas. Bom a minha dúvida é a mesma do Marcos que comentou acima, estou com o mesmo problema, quando coloco a classe radius5 direto no input, funciona normalmente, más chamando pelo script geral.js, não está funcionando. Já fiz até a substituição na primeira linha como você citou acima más continua não funcionando, qual será esse mistério? Um forte abraço....

    Responder

Deixe seu comentário