Jump to content

Cesar Melo

Members
  • Content count

    29
  • Joined

  • Last visited

Everything posted by Cesar Melo

  1. Cesar Melo

    Atributo de um objeto recebendo uma classe

    Olá. Estou tentar fazer um atributo de um objeto receber um objeto de outra classe. Mas dependendo da forma que faço isso, recebo uma mensagem de erro. class PedidoFilho { public $id; public $tipo; } class PedidoPai { public $id; public $tipo; public $pedidoFilho public function getPedFilho() { $this->pedidoFilho= new PedidoFilho(); } } $pedido= new PedidoPai(); $pedido->getPedFilho();
  2. Cesar Melo

    Retorno de função com JSON

    Sim, é verdade, comentou sim sobre a variável fora da função.. porem isso não funcionou com o $.getJSON().. Só funcionou com $.ajax(). Uma outra coisa que não entendi foi: var pedido= funcPedido(); function funcPedido(){ //procedimentos... } A variável receber uma função vazia, e depois a função ser criada.. Tentei criar a função, e depois declarar a variável recebendo a função. Isso não funcionou. Vou pesquisar sobre isso para ter um melhor entendimento.
  3. Cesar Melo

    Retorno de função com JSON

    Olá, gostaria de uma ajuda para retornar um resultado de uma função. Dentro dessa função, eu faço uma requisição através do $.getJSON(), e gostaria que função retornasse o resultado que obtido na requisição JSON. Ex: function pedidoGet() { var pedido; $.getJSON( "getters.php", {param1: "pedidoId"}, function (data) { pedido= data[0]; console.log(pedido) //aqui, ainda dentro da requisição, a variavel "pedido" tem o valores que foi //retornado pela requisição getJSON } ); console.log(pedido) //aqui, não retorna nada return pedido; //aqui, essa variavel pedido não tem mais os valores que a requisição getJSON retornou. } var pedidoTeste= pedidoGet(); //depois que chamar a funçõa, gostaria de ter os valores para usar como for melhor pra mim. console.log(pedidoTeste.id); console.log(pedidoTeste.valor); Conseguiram entender minha necessidade? Desde já, agradeço!
  4. Cesar Melo

    Retorno de função com JSON

    Angelo, pesquisei um pouco e consegui chegar ao resultado que eu queria. Eu encontrei um exemplo que achei que resolveria, mas não funcionou no meu caso.. mas tenho que fazer outros teste.. Veja só: var pedido=null; $.getJSON( "getters.php", {param1: "pedidoId"}, function(data){ pedido= data; } ); //porem isso não funcionou console.log(pedido.id); //imprime null console.log(pedodo.valor); //imprime null Abaixo segue o exemplo que funcionou: var pedido= funcPedido(); function funcPedido(){ var saida=null; $.ajax({ async: false, dataType: "json", url: "getter.php", data: {param1: "pedidoId"}, success: function(data) { saida= data; } }); return saida; } console.log(pedido.id); //isso funcionou console.log(pedido.valor); //isso funcionou \o/ Muito obrigado pela ajuda Angelo!!
  5. Cesar Melo

    Retorno de função com JSON

    Obrigado Angelo. Vou dar uma estudada nesse código de exemplos que postou e tentar fazer testes. E posto aqui novamente se deu certo ou não. Muito grato pela atenção!
  6. Cesar Melo

    Retorno de função com JSON

    Opa Angelo. Sim, o PHP devolve sim o que peço pelo GET, tanto que dentro da chamada getJSON, quando eu escrevo lá "console.log(pedido)", ele mostra o resultado que eu quero. Porem, isso só funciona dentro da "function" que está dentro do getJSON. Eu gostaria de ter essas informações fora dessa função, para que eu possa colocar os valores que eu preciso em div's separadas sem ter que ficar chamado a função getJSON toda hora. Minha intensão é chamar a função apenas uma vez, e ter um "array" ou um "objeto" com os valores de resposta da requisição.
  7. Cesar Melo

    [Resolvido] Parâmetro nulos em uma função

    Muito Obrigado Matheus!!! Resolveu meu problema!! Show de bola!!
  8. Olá.. Alguém sabe me dizer se é possível eu criar uma função em PHP, e ao chamar a função, não passar alguns parâmetros? Exemplo: function teste_func($param1, $param2, $param3) { if ($param2==null) { $param2="EM BRANCO"; } if ($param3==null) { $param3="EM BRANCO" } //restante do código utilizando o "$param1" } //ao chamar a função eu gostaria de ter a opção de chamar a mesma passando apenas 1 parâmetro ou mais.. teste_func($varParam1); teste_func($varParam1, $varParam2); //para toda vez eu não ter que chamar a função com os três parametros teste_func($varParam1, "EM BRANCO", "EM BRANCO"); Pois eu tentei fazer essa função, e chama-la sem passar o segundo e terceiro parâmetro, e me retorna o erro de que a função espera 3 parâmetros e eu informei apenas 1 ou dois parâmetros. Fatal error: Uncaught ArgumentCountError: Too few arguments to function logdb(), 2 passed in D:\...\index.php on line 25 and exactly 3 expected in... Thanks...
  9. Cesar Melo

    Copiar estrutura de Banco de Dados Mysql

    Ola.. Alguém sabe me dizer se há uma forma de eu conseguir replicar apenas a estrutura da minha base de dados? Pela breve pesquisa que fiz, vejo que tem um recurso de replicar base de dados como master e slave, porem pelo que entendi, é feita uma replica identica do banco de dados. Meu cenário seria mais ou menos da seguinte forma. Ter uma base de dados principal e ter mais outras bases de dados no mesmo servidor, ou até mesmo em outros servidores. Só que cada base de dados seria de um cliente diferente. Então, eu gostaria de fazer uma alteração na base de dados principal (ex.: adicionar mais uma coluna na tabela "pessoas") e fazer com que essa atualização seja replicada em todas as outras bases de dados, mas sem interferir nas informações já inseridas nas bases dos clientes. Se não houver um recurso que faça isso, gostaria de saber se há um lugar no mysql que eu consiga ver o Log de alterações que realizei em determinada base de dados para que eu possa ver se é possível através do log gerar um script de atualização. Obrigado
  10. Ola.. Alguém sabe me dizer se há uma forma de eu conseguir replicar apenas a estrutura da minha base de dados? Pela breve pesquisa que fiz, vejo que tem um recurso de replicar base de dados como master e slave, porem pelo que entendi, é feita uma replica identica do banco de dados. Meu cenário seria mais ou menos da seguinte forma. Ter uma base de dados principal e ter mais outras bases de dados no mesmo servidor, ou até mesmo em outros servidores. Só que cada base de dados seria de um cliente diferente. Então, eu gostaria de fazer uma alteração na base de dados principal (ex.: adicionar mais uma coluna na tabela "pessoas") e fazer com que essa atualização seja replicada em todas as outras bases de dados, mas sem interferir nas informações já inseridas nas bases dos clientes. Obrigado.
  11. Ola Thiago.. Seguinte, eu faço da seguinte forma.. mas não sei se é a forma mais indicada... No meu formulário, cada registro tem um "name" diferente.. Ex.: <tr> <td>Pedro Henrique</td> <td><input type="text" name="idade_1" id="idade_1" /></td> <td><label for="idade_1"> <input type="text" name="obs_1" id="obs_1" /> </label></td> </tr> <tr> <td>Ana Claudia</td> <td><input type="text" name="idade_2" id="idade_2" /></td> <td><label for="idade_2"> <input type="text" name="obs_2" id="obs_2" /> </label></td> </tr> <input type="hidden" name="contador" value="2" /> No meu caso, quando vou fazer o insert no banco, no seu caso seria imprimir na tela.. eu uso um "for" para inserir os dados no banco. Ex.: for ($i=1; $i<=$_POST[contador]; $i++) { echo "Idade: ".$_POST[idade_.$i]." - Obs: ".$_POST[obs_.$i]."<br/>"; } Sacou? Isso resolveu meu problema, que é parecido com o seu. Obs.: Geralmente não se repete valor de ID.
  12. Olá, estou com mais uma dúvida sobre segurança. Estou iniciando um projeto de desenvolvimento e ando preocupado com a segurança das minhas requisições. Exemplo: Tenho uma tela para editar um pedido já criado. Obviamente, esse pedido tem um ID como chave primaria no bando de dados. O que eu faço atualmente: Na tela de edição de pedido, tenho um <input type="hidden" name="pedidoID" value="13"> por exemplo. Aí quando mando o "submit" ele vai pra outra tela, e com base nesse pedido "13" o sistema fazer as alterações necessárias no banco de dados e etc. Em outras telas, faço algo parecido mas através de Ajax. Legal, funciona, mas ao usar esses inputs dessa forma é uma brecha de segurança certo? Pois alguém mal intencionado pode facilmente localizar e alterar o numero do pedido, causando uma alteração errada no banco de dados. Fiz uma breve pesquisa sobre segurança em PHP, e pensei em duas coisas: Fazer uma HASH de mão dupla para o valor do ID, que acredito que dificultaria um pouco a possibilidade de alguém alterar. Ou utilizar $_SESSION["pedidoID"] que penso ser mais seguro para ocultar o valor do ID de um pedido. Porem, utilizando $_SESSION["pedidoID"] ficaria dificil, ou impossível de fazer algumas requisições via Ajax. Foi o que eu consegui pensar. Alguém com experiência em PHP pode me dar uma orientação sobre como trabalhar melhor com segurança nesse caso?
  13. Cesar Melo

    [Resolvido] Segurança para requisições PHP

    @EdCesar obrigado pela dica cara. Quando eu for mexer com essa parte de segurança, vou começar dessa forma, utilizando sessions para dados importantes. Depois vou pesquisando sobre como ter mais segurança por requisições via ajax, pois há telas em que eu listo uma série de pedidos, ou produtos... então acho q não ficaria muito viável utilizar sessions nessas telas.. mas enfim... Uma coisa de cada vez.. Muito obrigado meu caro!
  14. Cesar Melo

    Administração de banco de dados

    Alguém aí pra me dar uma orientação inicial pra eu pesquisar mais afundo?? rsrs.. Obrigado!!!
  15. Cesar Melo

    Administração de banco de dados

    Olá. Estou iniciando um projeto de programação mas não tenho muita experiência com banco de dados. Pra falar a verdade, também não tenho muita experiência com programação. Mas enfim, por isso estou aqui pedindo ajuda. Estou desenvolvendo um software simples para controles de produtos, estoque, financeiro e etc. Estou utilizando PHP, MySql e JavaScript(jQuery). Mas estou pensando se mais pra frente esse desenvolvimento der muito certo, eu teria que ter varias bases de dados com a mesma estrutura para vários clientes diferentes. E talvez, essas bases de dados tenham que se comunicar pra trocar algumas informações. Enfim, minha pergunta é: O que eu deveria pesquisar para preparar minha base de dados para que ela se adeque a essa possível e futura estrutura? Acredito que mudanças são inevitáveis, mas gostaria de fazer o mínimo de mudanças possível para não ter muitos transtornos nas bases de dados. E também, gostaria de saber como analisar o desempenho da(s) minha(s) base de dados. A principio, pretendo armazenar diversas bases de dados, em um mesmo servidor. Então gostaria de dicas de hospedagem, mas acho que tenho que fazer isso depois que analisar o desempenho da(a) minha(s) bases de dados para escolher melhor um servidor. Se estiver pensando errado, me corrijam por favor. Preciso de um "norte" para iniciar meus estudos em MySql e preparar um ambiente que suporte essa minha necessidade. Obrigado!!
  16. Não sei se alguem viu meu post, mas enfim.. Achei uma solução simples para resolver meu problema. Usar uma subquery. Pois é.. acho que eu estava pensando que meu problema fosse meio complexo.. sei lá. pensei que teria que fazer uma "condição" no join.. sei lá.. bom como sou leigo em SQL... vejamos a solução... VIEW vw_produto_composicao AS select produto_composicao.produto_final_id AS produto_final_id, (select produtos.nome from produtos where (produtos.id = produto_composicao.produto_final_id)) AS produto_nome, produto_composicao.composicao_id AS composicao_id, produtos.nome AS composicao_nome, from (produto_composicao join produtos ON ((produto_composicao.composicao_id = produtos.id))) é isso!! rsrs..
  17. Olá. Gostaria de criar uma view que exibisse os campos relacionados às chaves estrangeiras. Criei duas tabelas, uma chamada "PRODUTOS" e outra chamada "PRODUTO_COMPOSICAO". Na tabela "PRODUTOS" temos os campos ID e NOME. Na tabela "PRODUTO_COMPOSICAO" temos os campos: PRODUTO_FINAL_ID e COMPOSICAO_ID. Ambos campos da tabela PRODUTO_COMPOSICAO são chaves estrangeiras da tabela PRODUTO. As duas são PRODUTO.ID. Na pratica, um produto é composto por outros diversos produtos, então eu gostaria de criar uma view que me exibisse a seguinte informação: "Produto_Final_ID, Produto_Final_Nome, Composicao_id, Composicao_nome". Na simples view que eu criei, ou exibe o nome do produto final ou o nome da composição. VIEW vw_produto_composicao AS select produto_composicao.produto_final_id AS produto_final_id, produtos.nome AS produto_final_nome, produto_composicao.composicao_id AS composicao_id, produtos.nome AS composicao_nome, from (produto_composicao join produtos ON ((produto_composicao.composicao_id = produtos.id))) Ficou confusa a explicação ou é tranquilo pra entender? Obrigado!
  18. Cesar Melo

    SQL Injection

    Olá... estou desenvolvendo um pequeno sistema e recentemente ouvi falar de Sql Injection. Não sei exatamente como funciona. Mas queria saber se estou abrindo oportunidade para que isso aconteça. Pelo que entendi de SQL Injection, alguma pessoa que tenha acesso ao site, pode entrar na edição html da pagina, e alterar a codificação podendo alterar os resultados SQL. No meu caso, tenho um script pra fazer um filtro de uma busca SQL e passo alguns parâmetros para efetuar a busca. Segue um dos meus códigos. $.ajax({ url: raiz+"include/autocomplete.php", dataType: "json", data: { tabela: "grupos", criterio1: "grupo=", valor1: "produto tipo", criterio2: "and descricao like", valor2: $("#tipo").val(), label: "descricao" }, success: function(data) { response(data); } });
  19. Cesar Melo

    SQL Injection

    Obrigado pela ajuda amigo... Vou continuar pesquisando sobre métodos para ter mais segurança no meu desenvolvimento!
  20. Olá, Não sei se essa minha questão é válida aqui nesse fórum, mas vou tentar. Estou tentando utilizar o Eclipse para conectar à um host para desenvolver um site em PHP. Atualmente uso o Aptana Studio para realizar essa conexão, onde ele me permite fazer conexões SSH e anexar um arquivo de chave publica.(Arquivo.ppk). Gostaria de fazer esse mesmo processo no Eclipse, já baixei o plugin Remote System Explorer e consegui iniciar a conexão. Porem ao iniciar a configuração de conexão, não encontrei nenhuma opção de selecionar uma chave publica. Mas notei que ao tentar acessar, o sistema apresenta uma mensagem e pede para criar um arquivo de chave publica numa pasta chamada ".ssh" no perfil do meu usuário do Windows. Blz, porem dá erro de autenticação quando o próprio sistema gera esse arquivo "known_hosts". Já tentei copiar o conteúdo criptografado do meu arquivo.ppk(que funciona com putty, aptana, winscp) no arquivo que o Eclipse gera: "known_hosts", mas não funciona. Tentei gerar novamente o arquivo .ppk e exportar novamente mas sem sucesso. Alguem tem algumas dicas ou orientações pra me ajudar a resolver esse problema?? Desde já, obrigado!!!
  21. Cesar Melo

    PHP com Json e Google Charts

    Muito obrigado Williams Duarte! Não cheguei a usar esse método, pois contornei o problema de uma maneira mais trabalhosa. Mas nas proximas telas que eu for usar o google Chart, vou utilizar esse método. Estive meio afastado desse meu projeto de programação esses meses!! Mas uma vez, obrigado pela solução!!!
  22. Cesar Melo

    PHP com Json e Google Charts

    Olá! Estou tentando usar o google charts pela primeira vez para tentar exibir um gráfico em uma pagina. Vou explicar como estou tentando fazer isso... Tenho uma pagina que faz uma requisição via "ajax"(dataType: json) para outra pagina que roda uma query sql. O resultado dessa query eu armazeno em um array, que depois utilizo a função "json_encode" para codificar o array no formato json. Até aí tudo funciona normal, porem o gráfico não é exibido na pagina que faz a requisição por um pequeno detalhe de aspas no array. Exemplo de resultado: {"cols":[ {"label":"grupo","type":"string"}, {"label":"valor","type":"number"} ], "rows":[ {"c":[{"v":"ACESSO REMOTO"},{"v":"5033.99"}]}, {"c":[{"v":"FORMATACAO"},{"v":"640.00"}]} ] } Como deveria ser: {"cols":[ {"label":"grupo","type":"string"}, {"label":"valor","type":"number"} ], "rows":[ {"c":[{"v":"ACESSO REMOTO"},{"v":5033.99}]}, {"c":[{"v":"FORMATACAO"},{"v":640.00}]} ] } Repare que nas linhas onde eu tenho "acesso remoto" e "formatação", ao lado seria respectivamente seus valores. É nesse campo "valor" que não deveria aparecer aspas. Mas a função "json_enconde" coloca aspas em todos os campos, e por esse motivo o gráfico não é exibido. Quando removo essas aspas desse campo "valor" manualmente e coloco na pagina, o gráfico é exibido. Alguem sabe como posso resolver esse problema? Alguem já conseguiu utilizar o charts dessa maneira que estou tentando? Obs: Como estou utilizando o charts pela primeira vez, segui a documentação do Google Chart com Json.
  23. Cesar Melo

    Autocomplete jQuery +JSON

    Olá. Gostaria de uma ajuda para resolver meu problema com autocomplete. Vou explicar o que eu preciso: Eu estou usando a função "autocomplete()" do jquery-ui para listar um cadastro de clientes onde o source é um arquivo .php. O arquivo php faz a consulta em um banco de dados mysql. Está funcionando normal, porem preciso fazer uma melhora. Eu gostaria que depois que listasse as sugestões do autocomplete, quando eu "selecionasse / clicasse" em uma das opções, carregasse outros valores para alguma DIV, SPAN, algo do gênero. Por exemplo: Quando clicasse no nome do cliente "Maria de Souza", carregasse o valor de endereço desse cliente em alguma DIV. Eu não entendo nada de JSON, só conheci esses dias porque precisei usar esse "autocomplete". Antes dele estava usando o ajax do jQuery pra retornar minhas requisições. O que entendi do JSON, é que pode-se criar um array com as saidas que você precisa retornar em uma pagina. Um exemplo resumido de como está meu código: //Pagina de exibição do autocomplete <script> $('#clienteLista').autocomplete({ source: "clientelista.php", minLength: 2 }); </script> //Arquivo "clientelista.php" que faz a consulta e retorna os resultados $i=0; $results= array(); while ($sqlresult= mysql_fetch_assoc($sqlquery)) { $results[$i] = array('id' => 'Cod: '.$sqlresult[cod], 'label' => $sqlresult[cod], '????' => $sqlresult[endereco]); $i++; } echo mysql_error(); echo json_encode($results); Só pra frisar... onde está o '????' => $sqlresult[endereco] é o que eu gostaria que aparecesse em uma DIV separada quando eu selecionasse algum cliente da minha lista. O nome do cliente precisa permanecer no campo "autocomplete". Alguma sugestão para resolver meu problema?? Obrigado...
×

Important Information

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