Jump to content
Schilin

Listagem de registros feitos por um usuário específico

Recommended Posts

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?

 

image (3).png

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 kelvinferraz
      Boa noite pessoal,
       
      Estou desenvolvendo uma aplicação e estou utilizando o método Auth do Laravel 5.8. Aparentemente esta tudo funcionando, acesso a certas áreas solicitam login. Eu gostaria de saber como faço para limitar o acesso de registro de usuários de um modo mais simples, pois andei pesquisando e existe formas de criar uma conta admin, mas para o meu propósito não teria necessidade de tanta complexidade, apenas gostaria de limitar o acesso ao http://localhost:8000/register para uma conta de e-mail especifica, ou mesmo se precisar criar um campo na tabela para validar se existe, não sei direito como fazer isso, estou aprendendo faz pouco tempo a respeito do Laravel.
       
      Exemplo de como esta funcionando minha app:
      http://localhost:8000/sistema === REQUER LOGIN PARA ACESSO
      http://localhost:8000/register == TAMBEM REQUER LOGIN, PORÉM QUALQUER USUÁRIO LOGADO FAZ REGISTRO DE NOVO USUÁRIO PARA ESSA ROTA EU GOSTARIA DE LIMITAR APENAS AO MEU EMAIL OU NOME DE USUÁRIO CADASTRADO.
       
       
       
       
      Obrigado!
    • 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 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.