CodeIgniter Essencial - Criando um painel parte 2

  • Publicado em: 25/08/2016
  • Categoria(s)CodeIgniter
  • Autor: Ricardo Bernardi
  • Newsletter: Inscreva-se

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.

Olá, sejam bem vindos à oitava aula do curso de CodeIgniter Essencial do RBtech.info!

Na aula de hoje (pegue um café pois a aula é grande) vou mostrar os detalhes para criar o método de inserção/atualização de configurações no banco de dados, depois, usando esse método vamos criar a rotina para salvar os dados de setup do site quando esse é executado pela primeira vez.

Para finalizar vou mostrar ainda como criar a tela de login, porém não faremos as rotinas para autenticação de usuários, isso fica pra próxima.

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

  • Paulo Vinicius comentou em

    Bom dia Ricardo primeiramente gostaria de parabeniza-lo pelas excelentes aulas.
    Eu estou tendo um problema ao implementar a inserção dos dados no banco o erro ocorre no controller neste codigo

    $dados_form = $this->input->post();
    //var_dump($dados_form);
    //exit;
    $this->option->update_option('user_login', $dados_form['login']);
    $this->option->update_option('user_email', $dados_form['email']);
    $this->option->update_option('user_pass', password_hash($dados_form['senha']), PASSWORD_DEFAULT );
    $inserido = $this->option->update_option('setup_executado', 1);

    ja revisei tudo mas nada da jeito, talvez vc com sua experiencia consiga ver o que eu não estou vendo!

    Essa e a mensagem apresentada no browser:

    A PHP Error was encountered
    Severity: Notice

    Message: Undefined index: login

    Filename: controllers/Setup.php

    Line Number: 62

    Backtrace:

    File: E:\xampp\htdocs\CIinicial\site\application\controllers\Setup.php
    Line: 62
    Function: _error_handler

    File: E:\xampp\htdocs\CIinicial\site\index.php
    Line: 315
    Function: require_once
    ------------------------------------------------------------------------------------------------------
    Um erro no Banco de Dados aconteceu
    Error Number: 1048

    Column 'option_value' cannot be null

    INSERT INTO `options` (`option_name`, `option_value`) VALUES ('user_login', NULL)

    Filename: E:/xampp/htdocs/CIinicial/system/database/DB_driver.php

    Line Number: 691

    Responder
    • Em algum lugar você está mandando uma option sem valor para o banco de dados (ou a função de salvar os dados está errada), vide erro "Column 'option_value' cannot be null". Comece revisando a função update_option do seu model, é bem provável que ela seja o problema uma vez que não há valores, mas sim 'user_login' e NULL nos values do seu SQL.
      Revise também a função de login... resumindo: revise seu código, há algo errado e você precisa descobrir o que é.

      Responder
      • Paulo Vinicius comentou em

        Bom dia Ricardo,

        Muito obrigado pela dica, fiz o que propôs e revisei todo o código e era uma coisa muito simples um fechamento de if, sempre fis os fechamento com { } e não com endif ai fiz confusão , por este motivo a função não recebia os dados no post, agora ta tudo certo, ja estou terminando o seu curso.

        Muito obrigado pela atenção, e continue com os cursos são ótimos. e sua didática muito boa.

        Responder
  • Brayan Bertan comentou em

    Message: Call to undefined method CI_Session::set_userdate()
    Estou recebendo esse erro tanto no set,get quanto no unset

    Segue abaixo o código:

    session->set_userdate('aviso',$msgs);
    }

    endif;

    if(!function_exists('get_msgs')):

    function get_msgs($destroy=true){

    $ci = & get_instance();

    $retorno=$ci->session->get_userdate('aviso');

    if($destroy) $ci->session->unset_userdate('aviso');
    }

    endif;

    Responder
    • Brayan, você não está trabalhando com datas, mas com dados... olha o nome das suas funções, você está usando datE e não datA no nome. Revise na aula...
      Seu erro diz que você está chamando uma função (método) inexistente, nesse caso a primeira coisa é conferir o nome das functions pois possivelmente estão com alguma inconsistência.

      Responder
  • ronaldalbanez comentou em

    Fácil Ricardo. Só uma coisa, o fundo preto do editor, torna alguns códigos inelegíveis, principalmente quando do uso de conectores que usam cores fortes também, em alguns monitores, complicam e devemos procurar um linha dentro de um código fonte. É só uma sugestão!

    Responder
  • emmanuel comentou em

    Eu fiquei muito confuso na parte dos models, eu achei meio complicado a maneira de inserir e atualizar os dados do banco de dados sabe? eu to na parte 2 do painel ainda, eu não sei se você ainda vai explicar mais coisa sobre isso, mas pra mim ainda ta muito confuso

    Responder
    • Emanuel, no começo do curso eu expliquei sobre MVC e mostrei alguns exemplos sobre como tudo deve funcionar, se tiver dúvidas volte para essas aulas e revise o conteúdo, daqui pra frente não será mais abordado esse tipo de explicação.

      Responder

Deixe seu comentário