Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''mvc''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 16 registros

  1. Bom dia a todos Criei um programa em MVC, que utiliza duas tabelas customizadas. Tipo Pai e Filho. Similar as tabelas SC5 e SC6. Estou usando FWMBrowse, por isso utilizei a relação abaixo no Static Function ModelDef. Local oModel := Nil Local oStPai := FWFormStruct(1, 'SZD') Local oStFilho := FWFormStruct(1, 'SZE') Local aSZERel := {} oModel := MPFormModel():New('zMVCMd3M') oModel:AddFields('SZDMASTER',,oStPai) oModel:AddGrid('SZEDETAIL','SZDMASTER',oStFilho,,,,,) aAdd(aSZERel, {'ZE_FILIAL' ,'ZD_FILIAL' } ) aAdd(aSZERel, {'ZE_EDITAL' ,'ZD_EDITAL' } ) oModel:SetRelation('SZEDETAIL', aSZERel, SZE->(IndexKey(1))) oModel:GetModel('SZEDETAIL'):SetUniqueLine({"ZE_FILIAL","ZE_EDITAL","ZE_CODPROD"}) oModel:SetPrimaryKey({}) Return oModel O problema é que na hora da gravação na tabela filho ele não grava o campo filial(ZE_FILIAL), mas grava o campo edital(ZE_EDITAL). Alguem já passou por isso?
  2. acneto.frc

    Javascript+async-await+MVC

    Olá a todos! Estou modificando algumas funções que utilizam callback para utilizar asyn-await. Uso o padrão MVC. Meu problema é que chamo a função assíncrona na model ela é executada, não retorna erro mas não volta para o controller. Abaixo parte do código. arquivo routes.js const segurosRoutes = require('../controllers/segurosControllers.js'); module.exports = (app) => { app.get('/estagio/movimentacoes/cadastroSeguros', segurosRoutes.segurosGetAll); } arquivo controllers.js const segurosController = require('../models/segurosModels.js'); module.exports = { segurosGetAll, } function segurosGetAll(req, res){ console.log("Entrando em Controllers Seguros: ") segurosController.getAll(function (err, result){ if(err) { console.log("Erro: " + err) throw err; }else{ console.log("Resultado "+result) } }) } arquivo models.js const client = require('../../config/conexao.js'); const moment = require('moment'); module.exports = { getAll, } async function getAll() { m_sql = 'select A.*, B.seg_razaosocial, B.seg_nomefantasia, C.alu_nome, D.usu_username from seguros A left join seguradora B on A.seg_codigo = B.seg_codigo left join usuarios D on A.usu_codigo = D.usu_codigo left join alunos C on A.alu_codigo = C.alu_codigo '; console.log("SQL em Seguros...."+m_sql) console.log("-----------------------") let retorno try{ const retorno = await client.query(m_sql) console.log("Retornando da SQL: "+retorno) } catch(erro) { console.log(erro) retorno = erro } return retorno }
  3. Sapinn

    Erro ao pegar paramentro pela url

    Pessoal estou com um dúvida terrivel não consigo checar os paramentros passados pela url ele sempre pagar anterior o que fazer? Vejam o codigo:: <?php class Rota { private $controlador = 'Paginas'; private $metodo = 'index'; private $parametros = []; public function __construct() { $url = $this->url() ? $this->url() : [0]; if (file_exists('../app/Controllers/' . ucwords($url[0] . 'php'))) { $this->controlador = ucwords($url[0]); unset($url[0]); } require_once '../app/Controllers/' . $this->controlador . '.php'; $this->controlador = new $this->controlador; if (isset($url[1])) { if (method_exists($this->controlador, $url[1])) { $this->metodo = $url[1]; unset($url[1]); } } $this->parametros = $url ? array_values($url) : []; call_user_func_array([$this->controlador, $this->metodo], $this->parametros); var_dump($this); } private function url() { $url = filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL); if (isset($url)) { $url = trim(rtrim($url, '/')); $url = explode('/', $url); return $url; } } } Minha class Paginas: <?php class Paginas{ public function sobre($id){ echo $id."<hr>"; } } O debug está me retornando: paginas _________________________________________________________________________________________________________________________________________________________________________________________ object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "sobre" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } } url usada: http://localhost/minha_pagina/paginas/sobre Ele não deveria gerar um erro e pedir para que eu passasse mais um paramentro na url? Ao invés disso ele só me retorna o método paginas o que fazer?
  4. acneto.frc

    document is not defined

    Tenho uma aplicação WEB NodeJs+Javascript. Na minha view (FILTROS PARA RELATÓRIO) além dos inputs tenho um radio button onde seleciono o tipo de do relatório que será gerado. No meu Controller tenho acesso aos campos inputs (type=text) normalmente mas não tenho acesso aos inputs (type=radio). Abaixo vou colocar parte do código. <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- As 3 meta tags acima *devem* vir em primeiro lugar dentro do `head`; qualquer outro conteúdo deve vir *após* essas tags --> <title><%= title %></title> <link rel="stylesheet" type="text/css" media="screen" href="/estilos/estilos.css" /> </head> <body> <header> <nav class="menuBase"> <ul> <li><a href="/">Início</a></li> <li><a href="/estagio/relatorios">Voltar</a></li> <li><a href=""> </a></li> </ul> </nav> </header> <main class=frmRelFiltros> <ul class="nav nav-tabs"> <li class="active" id="home-tab"><a data-toggle="tab" href="#pagina1">Relatório de Contratos</a></li> </ul> <div class="tab-content"> <div id="pagina1" class="tab-pane fade in active"> <form action='/contratos/relatorios/RelContratosPrint' method="post" id="relAlunos"> <!-- primeira linha --> <br> <div class="filtros" style="margin:15px"> <div class="row"> <div class="form-group col-md-6 col-md-offset-0"> <label>Código Contrato.:</label> <input type="text" name="cod_ini" value="0"/> A <input type="text" name="cod_fim" value="999999" /> <br> <br> <label>Ativo/Inativo...:</label> <input type="text" name="atv_ini" value="A"/> A <input type="text" name="atv_fim" value="Z" /> <br> <br> <label>Data Cadastro...:</label> <input type="text" name="cad_ini" value="01/01/2000"/> A <input type="text" name="cad_fim" value="31/12/2090" /> <br> <br> <label>Data Vigência...:</label> <input type="text" name="vig_ini" value="01/01/2000"/> A <input type="text" name="vig_fim" value="31/12/2090" /> <br> <br> <label>Sit. Contrato...:</label> <input type="text" name="sit_ini" value="0"/> A <input type="text" name="sit_fim" value="99" /> <br> <br> <label>Código do Curso.:</label> <input type="text" name="cur_ini" value="1"/> A <input type="text" name="cur_fim" value="99" /> <br> <br> </div> <div class="form-group col-md-6 col-md-offset-0"> <label>Código da Empresa.:</label> <input type="text" name="emp_ini" value="1"/> A <input type="text" name="emp_fim" value="9999" /> <br> <br> <label>Centro Integração.:</label> <input type="text" name="cie_ini" value="1"/> A <input type="text" name="cie_fim" value="999"/> <br> <br> <label>Valor da Bolsa....:</label> <input type="text" name="vlr_ini" value="1"/> A <input type="text" name="vlr_fim" value="99999999"/> <br> <br> <br> <div id="opcoesRelContratos" > <p>Selecione o Tipo do Relatório:</p> <input type="radio" id="tipoRel" name="padrao" value="padrao" checked=true> <label for="padrao">Padrao-Conferência</label><br> <input type="radio" id="tipoRel" name="faixa" value="faixa"> <label for="faixa">Faixa Salarial-Estatístico</label><br> <input type="radio" id="tipoRel" name="alunos_empresas" value="alunos_empresas"> <label for="alunos_empresas">Identificação de Alunos por Empresa</label> <br> <input type="radio" id="tipoRel" name="entregas" value="entregas"> <label for="entregas">Pastas de Estágios Entregues</label><br> <input type="radio" id="tipoRel" name="contratos_vencer" value="contratos_vencer"> <label for="contratos_vencer">Contratos a Vencer 30 dias</label> <br> </div> </div> </div> </div> <br> <!-- botões de acão --> <div class="btn-acao" style="margin-bottom: 0px;"> <div class="row"> <div class="col-md-2 col-md-offset-1"> <button id="btn-executarRel" type="submit" class="btn btn-primary btn-block" >Executar </button> </div> <div class="col-md-2 col-md-offset-1"> <button type="button" id="btn-cancelarRel" class="btn btn-primary btn-block">Voltar</button> </div> </div> </div> <br> </form> </div> <!-- tab pagina 1 --> </div> </main> <!-- JavaScript (Opcional) --> <!-- jQuery primeiro, depois Popper.js, depois Bootstrap JS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script> <script type="text/javascript" src="/js/funcoesCliente.js"></script> <script type="text/javascript" src="/js/script.js"></script> </body> </html> Agora o código do routes e controllers. No controllers preciso acessar um elemento radio da view *** botão para submeter a view <button id="btn-executarRel" type="submit" class="btn btn-primary btn-block" >Executar </button> *** rota a ser executada ao sonfirmar a execução do relatório <form action='/contratos/relatorios/RelContratosPrint' method="post" id="relAlunos"> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arquivo: contratosRoutes.js var contratosControllers = require('../controllers/contratosControllers.js'); module.exports = (app) => { app.get('/contratos/relatorios/relContratos', contratosControllers.contratosRel); app.post('/contratos/relatorios/RelContratosPrint', contratosControllers.printContratosRel); } +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arquivo: contratosControllers.js const alunosController = require('../models/contratosModels.js'); const cnf_ambiente = require('../../config/config.js'); const moment = require('moment'); module.exports = { printContratosRel, } function printContratosRel(req, res){ console.log("Data Inicial Normal: "+req.body.cad_ini) console.log("Data Final Normal..: "+req.body.cad_fim) console.log("++++++++++++++++++++ DATA NO FORMATO DE ENTRADA APÓS O POST ++########################") // ++++++++++++ BAIXO O ERRO document is not defined var radios = document.getElementsById("tipoRel"); for (var i = 0; i < radios.length; i++) { if (radios[i].checked) { console.log("Escolhido: " + radios[i].value); } } cod_i = req.body.cod_ini; cod_f = req.body.cod_fim; atv_i = req.body.atv_ini; atv_f = req.body.atv_fim; cad_i = req.body.cad_ini; cad_f = req.body.cad_fim; vig_i = req.body.vig_ini; vig_f = req.body.vig_fim; sit_i = req.body.sit_ini; sit_f = req.body.sit_fim; cur_i = req.body.cur_ini; cur_f = req.body.cur_fim; emp_i = req.body.emp_ini; emp_f = req.body.emp_fim; cie_i = req.body.cie_ini; cie_f = req.body.cie_fim; vlr_i = req.body.vlr_ini; vlr_f = req.body.vlr_fim; console.log("Relatório >>>>>>>>>>>>>>>>>>>>>>>> "+cad_i + ' - '+ cad_f); alunosController.buscarPrintContratosRel( cod_i, cod_f, vlr_i, vlr_f, sit_i, sit_f, cur_i, cur_f, emp_i, emp_f, cad_i, cad_f, vig_i, vig_f, atv_i, atv_f, cie_i, cie_f, function(err, result){ if(result){ console.log("Encontrei registro de contratos.... Vou tratar das datas.."); for(var i = 0; i < result.length; i++ ){ result[i].cea_dtcadastro = moment(result[i].cea_dtcadastro).format("DD/MM/YYYY"); result[i].cea_dtalteracao = moment(result[i].cea_dtalteracao).format("DD/MM/YYYY"); result[i].cea_vigenciainicial = moment(result[i].cea_vigenciainicial).format("DD/MM/YYYY"); result[i].cea_vigenciafinal = moment(result[i].cea_vigenciafinal).format("DD/MM/YYYY"); } } if (err) { throw err; } else{ res.render('estagios/relatorios/frm_relContratosPrint.ejs', {title: 'Contratos', nomeUsuario: global.nomeUsuario, codigoUsuario: global.codigoUsuario, nomeFormulario: req.originalUrl, obj_contratos: result, }); } }); }
  5. Caio Henrique Bottigelli

    Conflito de informações quando sistema é aberto por vários usuários

    Olá, estou desenvolvendo um sistema em asp.net Framework MVC, usando o banco de dados Postgresql. Quando 2 usuários diferentes usam o sistema acontece conflito de informações, por exemplo, no cadastro de clientes, preciso vincular uma pessoa a um determinado cliente, caso 2 usuários estiverem usando, e os 2 fizerem essa ação de vincular pessoas a um cliente, no 2º usuário vai aparecer a pessoa que o 1º usuário vinculou. É como se o sistema estivesse usando uma única Lista e os 2 usuários estivessem compartilhando essa lista. As variáveis de conexão não estão estáticas, toda vez que alguém entrar no sistema, vai ser criado uma nova instancia de conexão. Alguém sabe como resolver esse conflito de informação entre usuários?
  6. sergiosfpereira

    Dúvida MVC para fins didáticos [Respondida]

    Boa tarde a todos, Estou estudando MVC e me deparei com a seguinte situação: Tenho uma View que precisa receber dados de dois Models diferentes, então no controller desta View eu tenho a função abaixo: public function teste($id) { $this->view->a = $this->getOneA($id); $this->loadModel('b'); $this->view->b = $this->model->getOneB($id); $this->view->render('app/teste'); } O cenário acima me retorna o esperado, pega os dados de A e de B e os deixa disponiveis para a View. Está correto utilizar esse método ? Se sim, eu deveria carregar o Model "b" no __construct do controller "a" ou diretamente na função do controller "a" como neste exemplo? Se não, qual a melhor maneira de obter dados de diferentes Models? OBS: todos os controllers são filhos do controller principal e todos os models são filhos do model principal. E me perdoem se eu estiver falando bobagem, como disse, estou aprendendo e a finalidade aqui é didatica e agradeço a quem puder contribuir.
  7. Rzorr

    Url, Busca

    Bom dia, eu tenho um site de imóveis, sou corretor, ele está com alguns problemas na URL, comprei esse script e venho fazendo algumas alterações nele, sei o básico, cadastrar, deletar, buscar, update, mas o que acontece esse site foi construido com MVC e confesso parei de estudar PHP faz muito tempo, e não entendo nada de MVC, abaixo o código da busca e como forma o link é montado. No site o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/Camboriú/bairro/bairro#busca nesse exemplo fiz uma busca pela cidade! Se clico no menu em vendas o link fica assim: /imoveis/lista/referencia/referencia/categoria/comprar/tipo/tipo/cidade/cidade/bairro/bairro#busca pessoal obrigado pela disposição em ajudar, eu to tentando resolver faz dias, mas não consigo entender a a forma como é construido. <?php class busca extends controller { public function init(){ } public function inicial(){ $referencia = $this->post('referencia'); $categoria = $this->post('categoria'); $tipo = $this->post('tipo'); $cidade = $this->post('cidade'); $bairro = $this->post('bairro'); if($referencia){ $cidade = "cidade"; $bairro = "bairro"; $tipo = "tipo"; $categoria = "categoria"; } else { $referencia = 'referencia'; if(!$categoria){ $categoria = "categoria"; } if(!$tipo){ $tipo = "tipo"; } if(!$cidade){ $cidade = "cidade"; } if(!$bairro){ $bairro = "bairro"; } } $endereco = DOMINIO."imoveis/lista/referencia/$referencia/categoria/$categoria/tipo/$tipo/cidade/$cidade/bairro/$bairro#busca"; $this->irpara("$endereco"); }
  8. unset

    Paginação de resultados como implementar?

    Olá, alguém poderia me ajudar a implementar uma paginação de resultados? tenho o modelo mvc abaixo Controller <?php // Load All Posts public function index(){ $posts = $this->postModel->getPosts(); $data = [ 'posts' => $posts ]; $this->view('posts/index', $data); } ?> Model <?php // Get All Posts public function getPosts(){ $this->db->query("SELECT *, posts.id as postId, users.id as userId FROM posts INNER JOIN users ON posts.user_id = users.id ORDER BY posts.created_at DESC;"); $results = $this->db->resultset(); return $results; } View <?php foreach($data['posts'] as $post) : ?> <div class="card card-body mb-3"> <h4 class="card-title"><?php echo $post->title; ?></h4> <div class="bg-light p-2 mb-3"> Written by <?php echo $post->name; ?> on <?php echo $post->created_at; ?> </div> <p class="card-text"><?php echo $post->body; ?></p> <a class="btn btn-dark" href="<?php echo URLROOT; ?>/posts/show/<?php echo $post->postId; ?>">More</a> </div> <?php endforeach; ?> Como fazer a paginação ?
  9. Pessoal, bom dia. Tentei fazer o exemplo abaixo do site: http://www.macoratti.net/15/10/mvc_roles1.htm E está retornando o seguinte erro quando tento fazer um novo registro: System.InvalidOperationException: 'The ViewData item that has the key 'Name' is of type 'System.String' but must be of type 'IEnumerable<SelectListItem>'.' Alguém poderia me ajudar? Obrigada!
  10. icarof

    Acesso a arquivos de sistema multi usuarios.

    Olá amigos. Estou desenvolvendo um sistema, que pretendo disponibilizar para vários clientes, no entanto no modelo antigo, eu tinha que colocar todo o sistema dentro da pasta do cliente no ftp para pode rodar, o que não é vialvel pois a cada edição terei que refazer o mesmo trabalho para todos os clientes. Migrei o sistema de procedural para POO e estou usando MVC como estrutura, de inicio consigo por o sistema em uma pasta e apenas os arquivos básicos na pasta cliente. na pasta do cliente ficam index config environment .htaccess no caso, a home do projeto funciona bem, mas quando se tenta acessar outras paginas, ele não encontra ou mostra uma template incorreta. para um resumo: tenho um sistem no endereço exemplo www.meusistema.com.br cada cliente tem um subdominio: cliente.meusistema.com.br eu gostaria que na pasta do cliente, ficasse apenas os arquivos de configuração, pois quando for fazer a manutenção do sistema, as alterações sejam validas para todos os clientes.
  11. Claudinei Teodoro

    Método UPDATE em DAO Generico - Java

    Sou super novato estou começando a entender programação agora e estou com dificuldade em implementar o método UPDATE no meu DAO Generico.Os métodos INSERT, SELECT, DELETE já esta funcionando preciso somente de uma ajuda para o método UPDATE.Segue abaixo método INSERT que estou utilizando, alguém pode me ajudar com o método UPDATA utilizando como base este método INSERT.public void salvar(T objeto) throws SQLException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException {Class classe = objeto.getClass();String parteInicialSQL = "INSERT INTO " + classe.getSimpleName().toLowerCase() + "(";Field[] atributos = classe.getDeclaredFields();String parteFinalSQL = ") VALUES(";for (Field atributo : atributos) {if (!"id".equals(atributo.getName())) {parteInicialSQL += atributo.getName().toLowerCase() + ",";parteFinalSQL += "?,";}}parteInicialSQL = parteInicialSQL.substring(0, parteInicialSQL.length() - 1);parteFinalSQL = parteFinalSQL.substring(0, parteFinalSQL.length() - 1) + ")";Class.forName("org.postgresql.Driver");Connection conexao = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/postgres", "postgres", "123456");PreparedStatement sql = conexao.prepareStatement(parteInicialSQL + parteFinalSQL);int numeroInterrogacao = 1;for (Field atributo : atributos) {if (!"id".equals(atributo.getName())) {atributo.setAccessible(true);sql.setObject(numeroInterrogacao++, atributo.get(objeto));}}System.out.println(parteInicialSQL + parteFinalSQL);sql.execute();conexao.close();}
  12. kelvinferraz

    Proteger área de cadastro de usuário - Laravel 5.8

    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!
  13. <?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(); }
  14. 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!
  15. kandrus

    Organização de um sistema MVC

    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
  16. 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?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.