Jump to content
  • ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By adriano22
      <?php   require_once 'lib/Database/Connection.php'; require_once 'Crud.php';

        class UsuarioModel extends Crud { protected $table = 'usuario'; private $nome; private $arquivo; private $formacao; private $nivel; private $email; private $senha; private $curso; private $disciplina; private $periodo;   public function setNome($nome) { $this->nome = $nome; } public function setArquivo() { $this->arquivo = $arquivo; } public function setFormacao($formacao) { $this->formacao = $formacao; } public function setNivel($nivel) { $this->nivel = $nivel; } public function setEmail($email) { $this->email = $email; } public function setSenha($senha) { $this->senha = $senha ; } public function setCurso($curso) { $this->curso = $curso; } public function setDisciplina($disciplina) { $this->disciplina = $disciplina; } public function setPeriodo($periodo) { $this->periodo = $periodo; }   public function insert() { $sql = "INSERT INTO $this->table (nome, arquivo, formacao, nivel, email, senha, curso, disciplina, periodo) VALUES (:nome, :arquivo, :formacao, :nivel, :email, :senha, :curso, :disciplina, :periodo)"; $stmt = Connection::prepare($sql); $stmt->bindParam(':nome', $this->nome); $stmt->bindParam(':arquivo', $this->arquivo); $stmt->bindParam(':formacao',$this->formacao ); $stmt->bindParam(':nivel', $this->nivel); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':curso', $this->curso); $stmt->bindParam(':disciplina',$this->disciplina); $stmt->bindParam(':periodo', $this->periodo); return $stmt->execute(); }   public function update($id) { $sql = "UPDATE $this->table SET nome = :nome, arquivo = :arquivo, formacao = :formacao, nivel = :nivel, email = :email, senha = :senha, curso = :curso, disciplina = :disciplina, periodo = :periodo WHERE id = :id"; $stmt = Connection::prepare($sql); $stmt->bindParam(':nome', $this->nome); $stmt->bindParam(':arquivo', $this->arquivo); $stmt->bindParam(':formacao',$this->formacao ); $stmt->bindParam(':nivel', $this->nivel); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':curso', $this->curso); $stmt->bindParam(':disciplina',$this->disciplina); $stmt->bindParam(':periodo', $this->periodo); $stmt->bindParam(':id', $id); return $stmt->execute();   }  
    • By StenioDaty
      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:
       
       
      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!
       
    • By kandrus
      Boa tarde!!
      Estou com uma dúvida de arquitetura me corroendo onde eu coloco o código de um controle de estoque e onde faço sua chamada?

       
      Estou desenvolvendo um sistema que entre os seus módulos tera um controle de estoque, como eu organizo o código deste módulo.

      Vamos a um exemplo:

      Toda vez que eu fizer uma venda preciso diminuir o numero de itens do produto vendido da tabela produtos.

      A função/metodo dimiuirItem() {bla bla}
      Deve ficar no EstoqueController ?

      Ou crio uma camada a mais na arquitetura MVC apenas para guardar as classes de controle de estoques ?

      Ou ainda desenvolvo tudo no Model.

      E caso a nova camada seja o mais correto a fazer onde devo chamar os métodos dentro do Model ou nos Controllers?

      Muito obrgado e desculpem o tamanho da duvida kkkk


       
       
       
    • By Schilin
      Olá, Estou tentando implementar uma função que exibe uma lista de feedbacks cadastrados por um usuário específico, mas não estou conseguindo. Acredito que seja na classe Feedback o problema, pois dei o "echo" na query que vai para o banco e não printa o idUser. Onde pode estar o problema? 
       
      //pagina da listagem do usuário <?php error_reporting(E_ALL); ini_set('display_errors', 1); session_start(); if($_SESSION['logado']!=1){ header("Location: ../index.php"); } if($_SESSION['idPermissao'] != 1){ header("Location: ../index.php"); } include_once $_SERVER['DOCUMENT_ROOT']."/feedback/controle/ControleUsuario.class.php"; $cControle = new ControleUsuario(); if(isset($_GET['idUserVisualizar'])){ $usuario = $cControle->visualizarUsuario($_GET['idUserVisualizar']); } if(isset($_GET['idUserSituacao'])){ $cControle->situacaoUsuario($_GET['idUserSituacao']); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Visualizar usuário</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" media="screen" href="main.css"> <script src="main.js"></script> </head> <body> <a href="logout.php">sair</a> <?php echo "<h3>Usuário ".$usuario->getLoginUser()."</h3><br>"; if($_SESSION['idUser'] == $usuario->getIdUser()){ echo "Situação: Ativo"; } else{ if($usuario->getIdSituacao() == 0){ echo "Situação: Inativo | <a href='visualizarUsuario.php?idUserSituacao=".$usuario->getIdUser()."'>Ativar</a><br>"; } else{ echo "Situação: Ativo | <a href='visualizarUsuario.php?idUserSituacao=".$usuario->getIdUser()."'>Desativar</a><br>"; } } if($usuario->getIdPermissao() == 2){ $feedbacksRealizados = $cControle->feedbacksRealizados($_GET['idUserVisualizar']); echo "Feedbacks realizados: ".$feedbacksRealizados->getFeedbacksRealizados()." | <a href='listaFeedbacks.php?idUserListaFeedbacks=".$usuario->getIdUser()."'>Visualizar feedbacks</a>"; } ?> <br><br><a href="listaUsuarios.php"><<<:</a> </body> </html> // Classe ControleFeedback.class <?php include_once $_SERVER['DOCUMENT_ROOT']."/feedback/modelo/Feedback.class.php"; class ControleFeedback{ public function listarFeedbacksUser($idUser){ echo "<br>teste2: ".$idUser."<br>"; $feedback = new Feedback($idUser); $feedbacks = $feedback->listarFeedbacksUser(); return $feedbacks; } } ?> // Classe Feedback.class <?php include_once $_SERVER['DOCUMENT_ROOT']."/feedback/db/MySQL.class.php"; class Feedback{ private $idFeedback; private $nomeCliente; private $idInstalador; private $atendimento; private $relatoSatisfacao; private $antigaOperadora; private $notaInstalacao; private $idUser; public function __construct($idFeedback = null, $nomeCliente = null, $idInstalador = null, $atendimento = null, $relatoSatisfacao = null, $antigaOperadora = null, $notaInstalacao = null, $idUser = null){ $this->idFeedback = $idFeedback; $this->nomeCliente = $nomeCliente; $this->idInstalador = $idInstalador; $this->atendimento = $atendimento; $this->relatoSatisfacao = $relatoSatisfacao; $this->antigaOperadora = $antigaOperadora; $this->notaInstalacao = $notaInstalacao; $this->idUser = $idUser; } public function getIdFeedback(){ return $this->idFeedback; } public function setIdFeedback($idFeedback){ $this->idFeedback = $idFeedback; } public function getNomeCliente(){ return $this->nomeCliente; } public function setNomeCliente($nomeCliente){ $this->nomeCliente = $nomeCliente; } public function getIdInstalador(){ return $this->idInstalador; } public function setIdInstalador($idInstalador){ $this->idInstalador = $idInstalador; } public function getAtendimento(){ return $this->atendimento; } public function setAtendimento($atendimento){ $this->atendimento = $atendimento; } public function getRelatoSatisfacao(){ return $this->relatoSatisfacao; } public function setRelatoSatisfacao($relatoSatisfacao){ $this->relatoSatisfacao = $relatoSatisfacao; } public function getAntigaOperadora(){ return $this->antigaOperadora; } public function setAntigaOperadora($antigaOperadora){ $this->antigaOperadora = $antigaOperadora; } public function getNotaInstalacao(){ return $this->notaInstalacao; } public function setNotaInstalacao($notaInstalacao){ $this->notaInstalacao = $notaInstalacao; } public function getIdUser(){ return $this->idUser; } public function setIdUser($idUser){ $this->idUser = $idUser; } public function listarFeedbacksUser(){ $con = new MySQL(); $sql = "SELECT * FROM feedback WHERE idUser = $this->idUser"; echo $sql; die; $resultados = $con->consulta($sql); if(!empty($resultados)){ $feedbacks = array(); foreach($resultados as $resultado){ $feedback = new Feedback(); $feedback->setIdFeedback($resultado['idFeedback']); $feedback->setNomeCliente($resultado['nomeCliente']); $feedback->setIdInstalador($resultado['idInstalador']); $feedback->setAtendimento($resultado['atendimento']); $feedback->setRelatoSatisfacao($resultado['relatoSatisfacao']); $feedback->setAntigaOperadora($resultado['antigaOperadora']); $feedback->setNotaInstalacao($resultado['notaInstalacao']); $feedback->setIdUser($resultado['idUser']); $feedbacks[] = $feedback; } return $feedbacks; }else{ return false; } } } Esta é a sequência de testes que eu fiz, ele da o "echo" dos IDs certos, mas na classe Feedback parece que ele não recebe então printa a query sem o idUser. O problema é na função?
       

    • By Jonas Ribeiro Nascimento
      Estou criando meu próprio mvc php para adquirir mais conhecimento.
      Mas estou me deparando com uma coisa muita estranha, eu perco a $_SESSION de uma view para outra view
      Fiz um codigo simples pra testar.a.php ----- view a.php
      <?php session_start(); $_SESSION['teste'] = 'Funcionou'; echo $_SESSION['teste']; ?> <?php session_start(); echo $_SESSION['teste']; // Notice: Undefined variable: _SESSION in var_dump($_SESSION); // Notice: Undefined variable: _SESSION in NULL ?> <?php namespace Sis\Classes; use App\Model\ClassLogin; use Sis\Traits\TraitGetIp; class ClassSession { private $login; private $timeSession = 1200; private $timeCanary = 300; public function __construct(){ if(session_id() == ''){ ini_set("session.save_handler", "files"); //Cabeçalhos somente atraves de arquivos ini_set("session.use_cookies", 1); //Habilita o uso de cookies ini_set("session.use_only_cookies", 1); //Só pode habilitar a seção atraves de coockies ini_set("session.cookie_domain", DOMAIN); //Só aceita coockies vindo do nosso sistema ini_set("session.cookie_httponly", 1); //Só aceita script php e não deixa o javascript alterar o sistema if(DOMAIN != "localhost"){ ini_set("session.cookie_secure", 1); //Para trabalhar com o SSL do servidor ativo } /*Criptografia das nossas sessions*/ ini_set("session.entropy_length", 512); // ini_set("session.entropy_file","/dev/urandom"); ini_set("session.hash_function", "sha256"); ini_set("session.hash_bits_per_character", 5); session_start(); } $this->login = new ClassLogin(); } #Proteger contra roubo de sessão public function setSessionCanary($par=null){ session_regenerate_id(true); if($par == null){ $_SESSION['canary']=[ "birth" => time(), "IP" => TraitGetIp::getUserIp() //Pega o ip do usuario ]; }else{ $_SESSION['canary']['birth']=time(); } } #Verificar a integridade da sessão public function verifyIdSessions(){ if(!isset($_SESSION['canary'])){ $this->setSessionCanary(); } if($_SESSION['canary']['IP'] !== TraitGetIp::getUserIp()){ $this->destructSessions(); $this->setSessionCanary(); } if($_SESSION['canary']['birth'] < time() - $this->timeCanary){ $this->setSessionCanary("Time"); } } #Setar as sessões do nosso sistema public function setSessions($Email){ $this->verifyIdSessions(); $_SESSION['Login'] = true; $_SESSION['Time'] = time(); $_SESSION['Nome'] = $this->login->getIssetSession($Email)['data']['Nome']; $_SESSION['Email'] = $this->login->getIssetSession($Email)['data']['Email']; $_SESSION['Permissoes'] = $this->login->getIssetSession($Email)['data']['Permissoes']; } #Validar as páginas internas do sistema public function verifyInsideSession(){ $this->verifyIdSessions(); if(!isset($_SESSION['Login']) || !isset($_SESSION['Permissoes']) || !isset($_SESSION['canary'])){ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); }else{ if($_SESSION['Time'] >= time() - $this->timeSession){ $_SESSION['Time']=time(); }else{ $this->destructSessions(); header("Location: ".DIRPAGE."NaoAutorizado"); } } } #Destruir as sessions existentes public function destructSessions(){ foreach (array_keys($_SESSION) as $key) { unset($_SESSION[$key]); } } #testar public function testarSessions(){ echo 'oiiiiiiiiiiiiiiiiiiiiiiooooooooooo'; } }

×

Important Information

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