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 _FelipeOlvr
      Talvez seja simples, ou não. Não sei.
      Mas gostaria de um esclarecimento/luz de gente que já tem bagagem na área. Ficarei muito agradecido pela informação.
       
      Dei umas pesquisadas por ai, e fiz testes com as duas maneiras que achei ( até agora ):
       
      file_get_contents ( 'http://......' ) ;
      curl () ;
       
      Pergunta: 
       
      Existem outras maneiras de consumir API via PHP ? Quais ?
      Essas duas aí estão corretas?
    • By santans
      <?php if(isset($_post['name']) && !empty($_post['name'])){ $nome = addslashes($_post['name']); $email = addslashes($_post['email']); $mensagem = addslashes($_post['mesage']); $to = "gabriel@symmetrycorp.com.br"; $subjet = "Formulario - Contato SITE"; $body = "Nome: ".$nome. "\r\n". "E-mail: ".$email. "\r\n". "Mensagem: ".$mesage. "\n"; $header = "From: gabriel@symmetrycorp.com.br "."\r\n"."Replay-to:".$email."\r\n"."X=Mailer:php/".phpversion(); if(mail($to, $subject, $body, $header)){ echo("E-mail enviado com sucesso"); }else{ echo("O e-mail não pode ser enviado"); } } ?> Gostaria de ajudar para conferir esse código para envio de email, quero ter certeza que não há nenhum erro de escrita do código...
    • By michael450
      Senhores, boa tarde.
       
      Estou com um probleminha... rss', preciso fazer a listagem de uma função da biblioteca "SPED-NFe"   na qual consulto quais as NFe que emitiram contra meu CNPJ, porém o ele executa toda a função e depois me trás o resultado, eu gostaria de trazer o resultado instantaneamente, como se fosse uma atualização segundo a segundo.
       
       
      Essas informações não são salvas em DB, é apenas para consulta.
      Se alguém puder ajudar serei muito grato,
       
      Abraço.
       
      Michael Douglas
    • By D2th3
      Pessoal,

      Sou intermediário em PHP e estou estudando OO. Vi exemplos de do MVC Pattern usando template view contudo de simples substituição do marcador pelos dados. Eu gostaria que você me pudessem indicar um material de estudo, exemplos de código de um Model, Controller e View que carregasse a template e exibisse, contudo dentro dessa template existisse condicionais e loops como marcadores a serem processados pelo PHP.
       
      Agradeço a ajuda aos meus estudos.
    • By perfectraider99
      Galera bom dia, recentemente me pediram pra fazer um sistema de postagem para um site de carros . 
      pesquisei formas de fazer e encontrei um projeto de upload de imagens 
      fiz tudo certinho no local host e funcionou perfeitamente mas quando fui colocar no servidor nada funcionou, nem enviava o formulario nem amostrava os produtos.
      por favor galerinha estou a muito tempo tentando resolver esse problema . 
      aqui tá o meu codigo 
       
      index : 
       
       
      <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> body{ font-family: arial; } section{ background-color: rgb(123,104,238,.4); width: 70%; margin: auto; } input, label, textarea{ display: block; width: 100%; height: 30px; } label{ line-height: 30px; margin-top: 10px; } textarea{ height: 150px; } form{ width: 60%; margin: auto; box-sizing: border-box; padding: 20px; } #botao{ margin-bottom: 10px; width: 50%; background-color: rgba(0,0,0,.8); color: white; height: 40px; cursor: pointer; border: none; font-size: 15pt; } h1{ text-align: center; } #foto{ margin-top: 20px; margin-bottom: 20px; } a{ background-color: rgb(0,255,127); display: block; width: 220px; height: 50px; color: black; text-decoration: none; float: right; text-align: center; line-height: 50px; margin: 20px; border: 1px solid rgba(0,0,0,.2); } </style> </head> <body> <section> <a href="produtos.php">Ver todos os produtos</a> <form method="POST" enctype="multipart/form-data"> <h1>ENVIO DE IMGS</h1> <label for="nome">Nome do Produto</label> <input type="text" name="nome" id="nome"> <label for="des">Descrição</label> <textarea name="desc" id="desc"></textarea><br> <input type="file" name="foto[]" multiple id="foto"> <input type="submit" id="botao"> </form> </section> </body> </html> produtos : <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style type="text/css"> section{ width: 70%; margin: auto; font-family: arial; } div{ width: 15%; float: left; padding: 1%; background-color: rgb(123,104,238,.4); margin: 10px; } img{ width: 100%; height: 150px; } h2{ font-size: 12pt; color: white; text-align: center; background-color: rgba(0,0,0,.5); padding: 10px 0px; font-weight: normal; } p{ font-size: 10pt; } </style> </head> <body> <section> <?php require 'classes/Produto_class.php'; $p = new Produto_class('formulario_produtos','infinityfree.net','root', '99583460'); <- aqui ta a parte do banco de dados $dadosProduto = $p->buscarProdutos(); if (empty($dadosProduto)) { echo 'Ainda não há produtos aqui'; }else { foreach ($dadosProduto as $value) { ?> <a href="exibir_produto.php"> <div> <img src="imagens/<?php echo $value['foto_capa'] ?>"> <h2><?php echo $value['nome_produto'] ?></h2> </div> </a> <?php } } ?> </section> </body> </html> e aqui tá a parte do banco de dados : <?php class Produto_class{ private $pdo; public function __construct($dbname, $host, $user, $senha) { try { $this->pdo = new PDO("mysql:dbname=".$dbname.";host=".$host,$user, $senha); } catch (PDOException $e) { echo 'erro com banco de dados :'.$e->getMessage(); } catch (Exception $e) { echo 'erro Generico :'.$e->getMessage(); } } public function enviarProduto($nome, $descricao, $fotos = array()) { //INSERIR PRODUTO ( TABELA DO PRODUTO ) $cmd = $this->pdo->prepare('INSERT INTO produtos(nome_produto, descricao) values (:n, :d)'); $cmd->bindValue(':n', $nome); $cmd->bindValue(':d', $descricao); $cmd->execute(); $id_produto = $this->pdo->LastInsertId(); //INSERIR AS IMAGENS DO PRODUTO (TABELA DE IMAGENS) if(count($fotos) > 0 )// Se veio imagens { for ($i=0; $i < count($fotos); $i++) { $nome_foto = $fotos[$i]; $cmd = $this->pdo->prepare('INSERT INTO imagens (nome_imagem, fk_id_produto) values (:n, :fk)'); $cmd->bindValue(':n', $nome_foto ); $cmd->bindValue(':fk', $id_produto); $cmd->execute(); } } } public function buscarProdutos()//TODOS { $cmd = $this->pdo->query('SELECT *, (SELECT nome_imagem from imagens where fk_id_produto = produtos.id_produto LIMIT 1) as foto_capa FROM produtos'); if($cmd->rowCount() > 0) { $dados = $cmd->fetchAll(PDO::FETCH_ASSOC); }else { $dados = array(); } return $dados; } public function buscarPrdutoPorId($id) { } public function buscarImagensPorId($id) { } }
       
      Já troquei a variavel $p = new Produto_class no arquivo que eu mandei pro servidor ..
×

Important Information

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