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

  • Publicado em: 23/07/2012
  • Revisado em: 10/01/2014
  • Categoria(s)PHP
  • Autor: Ricardo Bernardi
  • Newsletter: Inscreva-se

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 criar as duas rotinas faltantes em nosso sistema, a alteração de senha e a exclusão de usuários. Após esta aula nosso sistema estará concluído, mas mesmo assim faremos ainda uma aula extra para ajustar alguns detalhes a fim de melhorar o mesmo.

Mais posts desta série

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

Compartilhe esse post:

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

  • Fernando Pereira comentou em

    Olá Ricardo, fiz esse curso há um tempo atrás mas agora precisei trocar a versão do php (7.2) e a conexão mysql não funciona; gostaria de saber como fazer a conexão mysqli de acordo com a public function conecta() que está no arquivo banco.class.php; tentei simplesmente trocar pra mysqli mas não funcionou.

    agradeço a atenção!

    Responder
      • Fernando Pereira comentou em

        Então, tô quebrando a cabeça mas preciso de ajuda; pelo que vi é apenas o arquivo banco.class.php onde estão as funções de conexão. Se vc puder me ajudar com esse arquivo o resto tá resolvido.

        Responder
  • Fernando Pereira comentou em

    Olá Ricardo, essa listagem de resultados está agora sendo muito útil pra criar uma lista de produtos para uma loja virtual; porém os resultados vem em lista, 1 por linha; gostaria de saber como exibir 3 resultados por linha, assim posso exibir 3 produtos em cada linha (formato de grade)

    Obrigado!

    Responder
      • Fernando Pereira comentou em

        No painel tem paginação, mas eu quis dizer 3 resultados por linha, não por página. De qualquer forma obrigado, já encontrei uma solução para o problema

        Responder
        • Hum, não prestei atenção nesse detalhe... mas nesse caso é só repetir o loop criando uma linha com 3 resultados, a cada 3 resultados inicia novamente a criação da linha com um contador por exemplo.

          Responder
  • Fernando Pereira comentou em

    Olá Ricardo, estou usando o painel há algum tempo e percebi que quando listo meus cadastros aparece em baixo o número de registros em formato 1,200 (com vírgula); tentei achar no arquivo JS mas não encontrei onde mudar de vírgula para ponto, uma espécie de number_format.
    alguma sugestão?

    Responder
  • Fernando Pereira comentou em

    Olá Ricardo, fiz meu painel dividido em 2 partes: uma tela para login e outra para senha; deu tudo certo, pois precisava passar alguns parâmetros via GET e dessa forma ficou mais fácil. Todavia o sistema de login às vezes falha (como se houvesse teclado F5) e o usuário é deixado na tela de senha sem os parâmetros iniciais da tela de login. Já fiz até mesmo uma gambiarra em javascript caso o usuário tecle enter, mas não ajudou muito. Tem alguma sugestão?

    Obrigado

    Responder
  • rodrigues1000 comentou em

    Bom dia Ricardo ! deu certo !!! tá funcionando, agora não estou conseguindo tirar esse erro na minha tela de inicio :
    Notice: Undefined variable: modulo in C:\wamp64\www\aulas\php\ADM_painel\painel.php on line 7
    Call Stack
    # Time Memory Function Location
    1 0.0000 238128 {main}( ) ...\painel.php:0
    Escolha uma opção de menu ao lado.

    Responder
  • Fernando comentou em

    Olá Ricardo,
    estou trabalhando com o painel vinculado a um BD e outras páginas fora do painel mas que enviam informações para o mesmo BD;
    todavia, quando volto ao painel e atualizo a página, o sistema redireciona para a página de login, provavelmente porque a sessão foi encerrada;
    minha dúvida é: há uma forma de atualizar a página sem encerrar a sessão?

    obrigado

    Responder
  • Fernando comentou em

    Olá Ricardo, muito bom o curso; estou usando os dados contidos no BD para envio de email usando o PHPmailer;
    no localhost funciona bem, mas no remoto a lógica $email = $resbd->email não funciona, nem se eu colocar $email = $_POST['email'];
    pode me ajudar?

    Responder
    • Já tentou entrar em contato com o host para saber se há alguma restrição para uso/envio de emails através do PHP? Isso não é tão comum mas acontece quando o host tem políticas mais rígidas para envio de emails via código fonte.

      Responder
      • Fernando comentou em

        Olá Ricardo,
        obrigado, mas foi tolice minha mesmo: não havia carregado o arquivo class.smtp.php;
        Obrigado e sucesso!!!

        Responder
  • redman comentou em

    Olá mundo:
    para não deixar que qualquer usuário cadastre um outro usuário é muito fácil:
    basta colocar um "se não for administrador" redireciona pro painel, "else" entra todo o código de inclusão de usuário.
    Espero que seja útil!
    abc a todos

    Responder
  • philipess23 comentou em

    Bom dia Ricardo gostaria que me tira-se uma duvida, fiz um sistema de noticias com categorias, depois pensei em fazer as subcategorias usando combo box só que nao estou conseguindo pegar o id da categoria obrigado espero que tire essa minha duvida.
    abraços.

    Responder
  • danielaguiar comentou em

    Olá ! É a primeira vez que vejo precisar pagar para tem um pack ¬¬
    Não gostei ! Deslike

    Responder
  • André Ventura comentou em

    Olá Ricardo

    Terminei o curso hoje e aprendi bastante. Muito obrigado por suas aulas. A medida que ia desenvolvendo o cadstro de usuários, ia criando outros modulos em outras tabelas, inclusive relacionadas entre si. No final montei um pequeno sistema de controle de estoque que será modelo para outros sistemas.
    Obrigado mesmo.

    Att.

    Responder
  • André Ventura comentou em

    Olá Ricardo,

    terminei o curso hoje e o site está perfeito em meu localhost. Acontece que ao subir para meu servidor web estou tendo os seguintes erros:

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/andreara/public_html/unimac/index.php:11) in /home/andreara/public_html/unimac/classes/sessao.class.php on line 17

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/andreara/public_html/unimac/index.php:11) in /home/andreara/public_html/unimac/classes/sessao.class.php on line 17

    Pode ajudar?

    Obrigado.

    Att.

    Responder
  • Edson comentou em

    Olá Ricardo, to aprendendo muito com seus videos e estou com duas questões que não estou conseguindo resolver. Como não tenho muita prática pode até ser perguntas bestas...

    Ao instânciar o objeto do modulo, e após dar um var_dump() ou print_r(), na variável atribuída, alguns valores que são de extrema importância são exibido:

    ...
    [servidor] => localhost
    [usuario] => root
    [senha] => 123456
    [nomebanco] => banco_x
    ....

    Gostaria de saber como não mostrar esses valores para qualquer parte do sistema?

    Um outra dúvida, como eu faço uma query, sem carregar a class de algum modulo?

    Obrigado.

    Responder
  • Michelle comentou em

    Ricardo, estou tentando colocar upload de imagem no banco de dados, em cadastro de clientes, só que ele não aceita. Quando entro no painel p/ fazer o cadastro da mensagem de erro.

    No meu banco de dados criei mais 4 campos p/ receber as imagens foto, rg, cpf, comprovante.

    Em usuarios.class acrescentei todos eles. Ele faz o cadastro do cliente mas as imagens não gravam no banco de dados!

    ajuda please! ^^.

    Responder
  • Vicka comentou em

    Ricardo,

    uma dúvida: Se eu quisesse acrescentar uma tabela em nosso banco de dados aulas, exemplo para cadastrar cliente agora, além do cadastro de usuário, no mesmo painel administrativo, terei que acrescentar uma nova classe cliente e um módulo cliente basicamente? É assim?
    obrigada

    Responder
    • Para cada módulo que você quiser adicionar ao sistema basta fazer o mesmo que fizemos com a questão dos usuários, criando o que for necessário para manipular os dados da tabela.

      Responder
  • Oi Ricardo! Eu consegui! Foi falta de atenção minha quebrei a cabeça a toa kkkkk...

    Na classe usuarios.class.php acrescentei o que estava na tabela e imprimi ele depois.

    Ficando assim:

    Responder
  • Ricardo, desculpe te incomodar várias vezes. Sou novata na área de programação, e tenho dificuldades.

    Consegui fazer o painel, funciona perfeitamente tando cadastrar, editar e deletar. Já testei em outros sites e funciona perfeitamente.

    Só que criei uma pagina de perfil do cliente p/ quando o cliente estiver logado que aparece-se os dados da página dele.

    Já tentei de várias formas mas não consigo.

    printf, print_r, array quando tento imprimir aparece arra =>[0]

    Assisti varias vezes as aulas tanto de crud quanto do painel, mas não estou conseguindo. buááááááá´...

    Se puder me dar uma orientação, preciso muito, muito, muito, muito, muito, muito, disso.

    Responder
  • Michelle comentou em

    Olá Ricardo! Enfim consegui! o painel está rodando e estou utilizando um site para testes, só tenho uma duvida, como faço p/ que quando o usuario logar ele veja somente os dados dele?
    Já tentei de varias formas mas não estou conseguindo!
    Me ajuda please, heeeeelllppp!!!

    http://michproducoestesteseusite.freeiz.com/

    ADM
    usuario: admin
    senha:teste

    Usuario: cheila
    senha:1234

    Responder
  • Jeovane Carvalho comentou em

    Olá Ricardo então pode desconsiderar tudo o que disse o problema estava entre a classe banco e o host do servidor eu tirei o http e consegui instalar o painel obrigado pelas orientações estava há anos atras disso e encontrei aqui no seu site, parabéns mesmo.
    Só queria saber ricardo se tem como eu usar este painel para gerenciar este site de imobilária neste link http://www.jcimoveisbrasil.com/index.php da uma olhadinha ainda vou fazer umas melhorias no seu código e conteudo tem com eu gerenciar todo o site atraves do seu painel, sei que tenho que criar mais tabela de dados, e depois disso quero atualizar o conteúdo tipo anunciar novos imóveis, colocar novas fotos, e tudo mais.
    Só me de uma orientação como fazer +ou-...

    E estou montando um site de jogos em php logado ao site mercado livre e ja indexei ele no google vai ter uma boa vizualização na primeiras paginas e se vc me autorizasse queria colocar o seu logotipo abaixo para ajudar no seu trabalho alem de postar nas redes sociais pq eu gosto de reconhecer quando alguem ajuda de verdade, se possivel claro e desculpe por te perturbar por enviar tantos comentários uma abraço e fica com Deus...

    Responder
  • Jeovane Carvalho comentou em

    Olá Ricardo enfim consegui terminar todas as etapas das video aulas agora me diga uma coisa na hora de jogar no servidor remoto web precisa alterar algum diretório pois estou tendo dificuldades em implantar em meu site esta dando este erro

    http://www.jcimoveisbrasil.com/aulas/php/paineladm/

    E ja postei o seu site em meu facebook e sucesso para vc.

    Responder
      • Jeovane Carvalho comentou em

        Então fiz isso mas ainda da este erro que vc viu no link acima veja como fiz

        <?php
        
        // diretrio do sistema
        define("BASEPATH", dirname(__FILE__)."/");
        define("BASEURL", "http://www.jcimoveisbrasil.com/aulas/php/paineladm");
        define("ADMURL", BASEURL."painel.php");
        define("CLASSESPATH","classes/");
        define("MODULOSPATH","modulos/");
        define("CSSPATH","css/");
        define("JSPATH","js/");
        
        
        //Banco de dados
        define("DBHOST", "http://dbmy0060.whservidor.com");
        define("DBUSER", "meu-banco");
        define("DBPASS", "minha-senha");
        define("DBNAME", "minha-tabela");
        
        ?>

        Apenas isso que alterei no script mas em local esta funfando perfeitamente...

        Responder
  • Luis Fernando Kalfels comentou em

    Ricardo.

    Terminei meu curso hoje... uma semana de duração, aprendi o eu sempre quis, agora vou aprofundar os estudos em livros e garimpando a net hehe

    Só tenho a agradecer você, pois você explicou de uma maneira clara, simples e objetiva como funciona a OOP no PHP.

    Graças a pessoas como você podemos aprender conteúdos com fundamento de um modo mais fácil e intuitivo.

    Fica meu grande abraço pra você.

    Obs: Ahh, vou fazer outros cursos no seu blog... com certeza hehehe

    Responder
  • Junior Eberhardt comentou em

    já comentei na va anterior, mas só pra constar, consegui fazer o alterar senha sozinho e por incrível que pareça fiz igualzinho ao seu...

    Responder
  • Junior Eberhardt comentou em

    mas... já acabou ;( buaaaaa..

    agora que tava ficando bom...

    valeu Ricardo, muito obrigador por compartilhar seu conhecimento conosco, espero que logo logo tenha mais um curso (de grátis. rsrs) pra gente aprender...

    abraço...

    Responder
  • Murilo Henrique comentou em

    Parabêns pela aula, fiquei puto aqui como muita gente fica, quando você não percebeu que o usuário estava inativo, fiquei assim, cara ali olha ali, esta inativo o cara e você achando que era o código, mas ta valendo, gostei da aula e confirmei que tinha feito do mesmo jeito, então isso quer dizer que estou aprendendo mesmo.

    Ps.: "Vi a aula sem som, então acho que você estava achando que o erro era no código.";

    Responder
    • Sim, demorei a perceber a questão do usuário estar inativo e por falta de atenção. Parei a aula para atender o telefone que tocou e olha no que deu... vários minutos procurando um erro que não existia.

      Responder

Deixe seu comentário