Jump to content
StenioDaty

Adicionar e buscar do banco de dados Codeigniter 3

Recommended Posts

Estou criando um sistema com adição de um tópico categoria que assim que é adicionado é chamado na tabela para aparecer na tabela ao lado.

Estou recebendo o erro abaixo, mas a categoria é cadastrada:

 

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /storage/ssd5/194/9530194/public_html/application/helpers/funcoes_helper.php:1)

Filename: helpers/url_helper.php

Line Number: 564

Backtrace:

File: /storage/ssd5/194/9530194/public_html/application/controllers/admin/Categoria.php
Line: 35
Function: redirect

File: /storage/ssd5/194/9530194/public_html/index.php
Line: 315
Function: require_once

 

 

 

 

Segue foto:image.thumb.png.166ad968c8e7aaa80e12e2df464717b8.png

 

 

View Código:

 

<div id="page-wrapper">
            <div class="row">
                <div class="col-lg-12">
                    <h1 class="page-header"><?php echo 'Administrar '.$subtitulo; ?></h1>
                </div>
                            </div>
                        <div class="row">                
                <div class="col-lg-6">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                           <?php echo 'Adicionar nova '.$subtitulo; ?>
                        </div>
                        <div class="panel-body">
                            <div class="row">
                                <div class="col-lg-12">
                                    <?php 
                                    echo validation_errors('<div class="alert  alert-danger">','</div>');
                                    echo form_open('admin/categoria/inserir');
                                    ?>
                                    <div class="form-group">
                                            <label id="txt-categoria">Nome da Categoria</label>
                                            <input type="text" id="txt-categoria" name="txt-categoria" class="form-control" placeholder="Entre com o texto">
                                    </div>
                                    <button type="submit" class="btn btn-default">Cadastrar</button>
                                    
                                    <?php
                                    echo form_close();
                                    ?>
                                </div>
                                
                            </div>
                            <!-- /.row (nested) -->
                        </div>
                        <!-- /.panel-body -->
                    </div>
                    <!-- /.panel -->
                </div>
                <!-- /.col-lg-6 -->
                
                
                <div class="col-lg-6">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            <?php echo 'Alterar '.$subtitulo. ' existente'; ?>
                        </div>    
                         <?php
                                    $this->table->set_heading("Nome da Categoria","Alterar","Excluir");
                                    foreach($categorias as $categoria){
                                        $nomecat = $categoria->titulo;
                                        $alterar= anchor(base_url('Admin/categoria'),'<i class="fa fa-refresh fa-fw"></i> Alterar');
                                        $excluir=anchor(base_url('Admin/categoria/excluir/'.md5($categoria->id)),' <i class="fa fa-remove fa-fw"></i> Excluir');
                                        
                                        $this->table->add_row($nomecat,$alterar,$excluir);
                                    }
                                    
                                    $this->table->set_template(array(
                                        'table_open' => '<table class="table table-striped">'
                                        ));
                                        
                                        echo $this->table->generate();
                                ?>           
                                      
                        </div>
                        <div class="panel-body">
                            <div class="row">
                                <div class="col-lg-12">
                                    
                                </div>
                                
                            </div>
                            <!-- /.row (nested) -->
                        </div>
                        <!-- /.panel-body -->
                    </div>
                    <!-- /.panel -->
                </div>
                
                
            </div>
            <!-- /.row -->
        </div>
        <!-- /#page-wrapper -->

    </div>
 

 

MODEL CODE:

 

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Categorias_model extends CI_Model {
    
    public $id;
    public $titulo;
    

    public function __construct(){
        parent::__construct();
    }
    
    public function listar_categorias(){
        $this->db->order_by('titulo','ASC');
        return $this->db->get('categoria')->result();
    }
    
    public function publicacao(){
        $this->db->select('usuario.id as idautor, usuario.nome, postagens.id, postagens.titulo, postagens.subtitulo, postagens.user, postagens.data, postagens.img, postagens.categoria, postagens.conteudo');
        $this->db->from('postagens');
        $this->db->join('usuario', 'usuario.id = postagens.user');
        $this->db->where('postagens.id ='.$id);
        return $this->db->get()->result();
    }
    
    public function listar_titulo($id){
        $this->db->from('categoria');
        $this->db->whre('id ='.$id);
        return $this->db->get()->result();
    }
    
    public function adicionar($titulo){
        $dados['titulo'] = $titulo;
        return $this->db->insert('categoria',$dados);
    }
    
    public function excluir($id){
        $this->db->where('md5(id)',$id);
        return $this->db->delete('categoria');
    }
    

}

 

CONTROLLER:

 

 

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Categoria extends CI_Controller {

    public function __construct(){
        parent::__construct();
        $this->load->model('categorias_model','modelcategorias');
        $this->categorias = $this->modelcategorias->listar_categorias();
    }
    
    public function index()
    {
        
        $dados['categorias'] = $this->categorias;
        $this->load->library('table');
        //Dados a serem enviados para o cabeçalho
        $dados['titulo'] = 'Painel de Controle';
        $dados['subtitulo'] = 'Categoria';
        
        $this->load->view('backend/template/html-header', $dados);
        $this->load->view('backend/template/template');
        $this->load->view('backend/template/categoria');
        $this->load->view('backend/template/html-footer');
    }
    
    public function inserir(){
        $this->load->library('form_validation');
        $this->form_validation->set_rules('txt-categoria','Nome da Categoria', 'required|min_length[3]|is_unique[categoria.titulo]');
        if($this->form_validation->run() == FALSE){
            $this->index();
        }else{
            $titulo = $this->input->post('txt-categoria');
            if($this->modelcategorias->adicionar($titulo)){
                redirect(base_url('admin/categoria'));
            }else{
                echo "Houve um erro no sistema!";
            }
        }
        
    }
    
    public function excluir($id){
        
        if($this->modelcategorias->excluir($id)){
                redirect(base_url('admin/categoria'));
            }else{
                echo "Houve um erro no sistema!";
            }
        
    }
    
}

 

Gostaria de ajuda para corrigir o erro:

Desde já agradeço!
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By ernestovm
      Bom dia.
      Descobri, depois de muito trabalho, um problema esquisito. Tenho duas imagens que chamam funções JavaScript determinadas. Uma funciona e a outra não. Isso no Firefox. No Chrome as duas funcionam perfeitamente. Alguém conhece alguma gambiarra para fazer o Firefox funcionar? Segue os códigos:
      HTML:
      <img src="images/ic_abrir.png" width="70" height="70" onClick="abre_notificacao(<? echo "'".$us_codigo."','".$item."'"; ?>);" style="cursor:pointer" id="p_imagem-<? echo $item; ?>" name="p_imagem-<? echo $item; ?>">
       <img src="images/ic_excluir.png" width="70" height="70" onClick="excluir_notificacao(<? echo "'".$us_codigo."'"; ?>);" style="cursor:pointer">
      JAVASCRIPT:
      <script type="text/javascript">
          function abre_notificacao(codigo,indice) {
              $("#p_imagem-"+indice).attr("src","images/ic_abrir_ok.png");
              $("#ver-"+indice).css("display", "block");
          }
          function excluir_notificacao(codigo) {
              $.post("excluir_notificacao.php", {codigo: codigo}, function(resposta) {
                  confirm(resposta+" ("+codigo+")");
              });
              location.reload();
          }

      </script>
      A Função abre_notificacao(codigo,indice)  funciona perfeitamente nos dois browsers.
      A Função excluir_notificacao(codigo) só funciona no Chrome.
      Obrigado pela luz
    • By violin101
      Caros amigos, saudações...
       
      Se postei minha dúvida na opção errada, por favor, me perdoa.
       
      Estou com uma dúvida referente o Carregamento de INPUT através de Select Option com valor vindo do MySql.
       
      Tenho duas DIV, onde mostro um Input caso o Option seja igual a SIM.
       
      O problema é que quando Edito para Alterar o SELECT=2(SIM)  não mostra o Input Ativo.
       
      O Código está assim:
      VIEW:
       
      <div class="col-md-2"> <div class="form-group"> <label for="infoManut" class="control-label ctrlbl">Site em Manutenção:</label> <div class="controls"> <select name="infoManut" id="infoManut" style="width:100%;" class="form-control" onchange="mostrManut(this.value)"> <?php if ($syte[0]->infoManut == 1) { $nao = 'selected'; $sim = ''; } else { $nao = ''; $sim = 'selected'; } ?> <option value="1" <?= $nao ?>>NÃO</option> <option value="2" <?= $sim ?>>SIM</option> </select> </div> </div> </div> <div class="clearfix"></div> <div id="1" class="col-md-12" style="display:none;"> <div class="col-md-12"> <!---Não Mostra Nada---> </div> </div> <!--Como mostro essa DIV quando o Mysql for igual a 2 --> <div id="2" class="col-md-12" style="display:none;"> <div class="col-md-12"> <div class="form-group"> <label for="txt_manut">Informe um Motivo para Manutenção</label> <input id="txt_manut" type="txt_manut" name="txt_manut" class="form-control" style="width:100%;" /> </div> </div> </div> <div class="clearfix"></div> <br/>  
      JAVASCRIPT
       
      <script type="text/javascript"> //Habilitar e Desabilitar DIV's Manutenção do Site function mostrManut(value) { if (value == "1") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "none"; $("#txt_manut").val(''); } else if (value == "2") { document.getElementById("1").style.display = "none"; document.getElementById("2").style.display = "block"; } } </script>  
      Grato,
       
      Cesar
       
       
    • By Marxrj
      Boa noite, estou quebrando a cabeça para incluir marca d'agua em imagens no upload.
      No upload eu consigo fazer o redimensionamento perfeito, inserir uma parte de outro código para inserir a marca d'agua, porpem ele não funcionou na primeira tentativa, fiz umas alterações, aí ele faz o redimensionamento, coloca a logo mas a imagem de fundo fica simplesmente preta..
       
      Esse abaixo é o padrão no qual ele faz o upload da foto e redimensiona, TUDO CERTO!!
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Ai parti para inserir a parte para colocação da marca d'adua. O que foi incluso é aonde tem os comentários. Mas acontece neste momento que ele faz o upload e o redimensionamento normal mas não insere a marca d'agua
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_logo = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_logo ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_logo ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_logo, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem);  
      Por fim apenas apenas troquei o nome imagem_logo na parte que iria inserir a marca d'agua por imagem_temporaria que já tinha no código antigo. Neste momento ele faz o upload, redimensiona e insere a marca d'agua, mas a imagem de fundo não aparece, fica um fundo preto.
       
      switch ($foto['type']): case 'image/jpeg'; case 'image/pjpeg'; $imagem_temporaria = imagecreatefromjpeg($caminho_imagem); // Obtem a logomarca $imagem_temporaria = imagecreatefromgif( "logo_texto.gif" ); $largura_original = imagesx($imagem_temporaria); $altura_original = imagesy($imagem_temporaria); // Obtem a largura_nova da imagem $larguraLogo = imagesx( $imagem_temporaria ); // Obtém a altura da imagem $alturaLogo = imagesy( $imagem_temporaria ); // Calcula X 5px da latreral direira $x_logo = imagesx( $imagem ) - $larguraLogo - 5; // Calcula X 5px do rodapé $y_logo = imagesy( $imagem ) - $alturaLogo - 5; // Copia a logo para a imagem imagecopymerge( $imagem, $imagem_temporaria, $x_logo, $y_logo, 0, 0, $larguraLogo, $alturaLogo, 100 ); $nova_largura = $largura ? $largura : floor(($largura_original / $altura_original) * $altura); $nova_altura = $altura ? $altura : floor(($altura_original / $largura_original) * $largura); $imagem_redimensionada = imagecreatetruecolor($nova_largura, $nova_altura); imagecopyresampled($imagem_redimensionada, $imagem_temporaria, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura_original, $altura_original); imagejpeg($imagem_redimensionada, $caminho_imagem); Se alguém puder da uma luz e dizer aonde estou errando.
    • By k9studio
      Olá meus Amigos,
       
      Estou tendo dificuldades em eliminar dados repetidos de uma session
      é um sisteminha de pesquisa de domínios com array
      quero eliminar quando já tiver um nome na session, não deixar gravar outro
      aguem pode ajudar
      veja como está  
      Array ( [0] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [1] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [2] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) [3] => Array ( [type] => register [domain] => testeteste.com.br [regperiod] => 1 ) [4] => Array ( [type] => register [domain] => testeteste.com [regperiod] => 1 ) [5] => Array ( [type] => register [domain] => testeteste.net.br [regperiod] => 1 ) ) Desde já muito obrigado a todos
    • By realisacnovaes
      Sou novo no fórum e não sei se postei no lugar certo, mas desde já peço desculpas.
       
      Eu estou com um projeto de desenvolver um chat online, porém preciso de algumas ajudas e pago pelo serviço.
       
      já tenho um chat em php (modelo livre construido e disponibilizado de graça no youtube) e gostaria de fazer algumas modificações tais como:
      - Chat em grupo
      - Deletar mensagem para mim/todos
      - ligação por áudio e vídeo
       
      outras coisas adicionais.
      alguém poderia me ajudar ou alguém disponível para eu contratar?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.