Jump to content

juninhogpe

Members
  • Content count

    162
  • Joined

  • Last visited

Everything posted by juninhogpe

  1. juninhogpe

    Listar dados de JSON com PHP e Curl

    @EdCesar, obrigado pelo retorno. Do jeito que você fez eu passando o conteúdo dentro do $output, funcionou. Engraçado que no meu output eu chamo assim: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $output = curl_exec($ch); Estou sem entender como corrigir.
  2. juninhogpe

    Listar dados de JSON com PHP e Curl

    Pessoal, estou consumindo uma API com PHP + Curl. Segue abaixo como estão os dados: JSON: {"odata.metadata":"http:\/\/ip:porta\/api\/sistema\/$metadata#sistema_interno.sistema_interno_cond_pgto_lista","odata.count":2,"value":[{"cond_pgto":466,"codigo":"000","descricao":"DINHEIRO","taxa":null,"tipo_operacao":"A","desconto":0,"tipo_pgto":0},{"condicoes_pgto":820,"codigo":"002","descricao":"MISTA","taxa":null,"tipo_operacao":"A","desconto":null,"tipo_pgto":10}]} chamada PHP: $url = 'http://ip:/porta/end_api?$format=json'; $username = 'usuario'; $password = 'senha'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $output = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); $lista = json_decode($output, TRUE); ?> <table> <tr><th>Codigo</th></tr> <?php foreach ($lista['value'] as $lst): ?> <tr><td> <?php echo ($lst['codigo']) ?> </td></tr> <?php endforeach;?> </table> E quando executo o código tenho o retorno: Warning: Invalid argument supplied for foreach() in C:\AppServ\www\api\teste.php on line 44 No caso essa linha 44: foreach ($lista['value'] as $lst): Conseguem me ajudar a entender o por que do erro? Obrigado.
  3. juninhogpe

    Listar dados de JSON com PHP e Curl

    @Maujor obrigado pelo retorno. Fiz a alteração assim: foreach ($lista as $lst): Mais o erro ainda permanece. Passei o 'value', pois pensei que no JSON a parte "value":[{"cond_pgto":466,......... Eu teria que passar ele, pois é o nome do array ou estou enganado?
  4. juninhogpe

    Consumindo API com PHP e Curl

    Boa tarde. Pessoal estou tendo problemas para consumir um api com PHP e Curl. Tenho endereço da api de um software o qual preciso criar um formulário PHP e buscar esses dados. Ex de URL: "http://ip-servidor:porta/api/produto/listar" Com a URL, é fornecido o seguinte exemplo: Objeto: Produto GET /api/produto/listar Parâmetros: ?produto=1&cor=16&$format=json Meu código está assim: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, "http://ip:porta/api/lista_departamento?cod_departamento=001&$format=json"); $result = curl_exec($ch); curl_close($ch); $result = json_decode($result, true); echo $result; ?> Mais no resultado, retorna apenas o código do departamento, mais quando coloco a url no navegador me retorna todos os demais campos. Retorno no navegador: {"odata.metadata":"http:\/\/ip:porta\/api\/$metadata#site_join.SITE_JOIN_DEPARTAMENTOS_LISTA","odata.count":1,"value":[{"departamento":20,"cod_departamento":"001","descricao":"MASCULINO"}]} Como faço para exibir não só o campo departamento e sim o cod_departamento e a descrição? Obrigado.
  5. juninhogpe

    Consumindo API com PHP e Curl

    @Emerson.Oliveira obrigado pelo retorno. pode me dar um exemplo de como ficaria por favor? Obrigado.
  6. juninhogpe

    Consumindo API com PHP e Curl

    @Williams Duarte, funcionou perfeitamente. Muito obrigado. Como é a primeira vez que estou trabalhando com consumir API, como eu posso exibir formatado? Ou melhor como posso acessar o campo cod_departamento por exemplo, ou o campo descricao? Segue meu código como ficou: <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, "http://ip:porta/api/lista_departamento?cod_departamento=001&$format=json"); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8") ); $result = curl_exec($ch); curl_close($ch); $result = json_decode($result, true); echo $result; ?> Muito obrigado.
  7. juninhogpe

    PHP + API

    Boa noite. Pessoal, por favor preciso integrar alguns formulários à uma API de um sistema, mais nunca fiz esse tipo de integração PHP + API, vocês podem me auxiliar me indicando algum site, material ou curso que eu consiga compreender melhor? Preciso enviar e receber informações usando os formulários com PHP e a API. Agradeço desde já. Att.
  8. juninhogpe

    Upload de imagem - JPG

    Boa noite pessoal. Tenho um formulário para realizar o upload de fotos e uma página que recebe e faz o redimensionamento das imagens. Quando envio algumas imagens com extensão "jpg", me aparece como arquivo não suportado e outros são enviados corretamente. Segue abaixo meu código do formulário e o script que recebe e redimensiona as imagens: formulario.php <form name="fotos" action="img-action.php" enctype="multipart/form-data" method="post"> <div class="form-group"> <label for="exampleInputEmail1">Nome</label> <input type="text" name="nome" class="form-control" id="exampleInputEmail1" placeholder="Nome do carro"> </div> <div class="clearfix"></div> <div class="form-group"> <label for="exampleInputPassword1">Fotos</label> <input type="file" name="file[]" id="exampleInputFile" required multiple> </div> <div class="clearfix"></div> <button type="submit" class="btn btn-default">Cadastrar fotos</button> </form> img-action.php <?php session_start(); if (!$_SESSION["usuarioNome"]) header("Location: index.php"); include("conexao.php"); ini_set('memory_limit', '512M'); ini_set('post_max_size', '500M'); ini_set('upload_max_filesize', '500M'); function clean($string) { $a = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕºª"; $b = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRroa"; $string = utf8_decode($string); $string = strtr($string, utf8_decode($a), $b); //substitui letras acentuadas por "normais" $string = str_replace(" ","-",$string); // retira espaco $string = strtolower($string); // passa tudo para minusculo return utf8_encode($string); //finaliza, gerando uma saída para a funcao } function resizeImage($Largura_atual,$Altura_atual,$Tamanho_Maximo,$Pasta_Destino,$SrcImage,$Qualidade_img,$Tipo_imagem){ //Verifica se a imagem existe if($Largura_atual <= 0 || $Altura_atual <= 0) return false; //Construção proporcional da nova imagem $Imagem = min($Tamanho_Maximo/$Largura_atual, $Tamanho_Maximo/$Altura_atual); $Nova_Largura = ceil($Imagem*$Largura_atual); $Nova_Altura = ceil($Imagem*$Altura_atual); if($Largura_atual < $Nova_Largura || $Altura_atual < $Nova_Altura){ $Nova_Largura = $Largura_atual; $Nova_Altura = $Altura_atual; } $NewCanves = imagecreatetruecolor($Nova_Largura, $Nova_Altura); // Redimensionamento de imagem if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $Nova_Largura, $Nova_Altura, $Largura_atual, $Altura_atual)){ switch(strtolower($Tipo_imagem)){ case 'image/png': imagepng($NewCanves,$Pasta_Destino); break; case 'image/gif': imagegif($NewCanves,$Pasta_Destino); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$Pasta_Destino,$Qualidade_img); break; default: return false; } if(is_resource($NewCanves)) imagedestroy($NewCanves); return true; } } $nome_galeria = $_POST["nome"]; $nome_pasta = clean($nome_galeria); $destino_imagem = mkdir('fgaleria/'.$nome_pasta.'/',0777,true); // Inserção na tabela de galeria $nome_galeria = $_POST["nome"]; if(isset($_FILES['file']['name'])){ //Configurações da Imagem $Tamanho_Max_Imagem = 640; //Largura e altura máxima da imagem $Prefixo_Img_redimensionada = "imagem_comprimida"; //Prefixo para o nome da imagem salva $Pasta_Img_Original = 'original/'; $Pasta_Img_Comprimida = 'fgaleria/'; //Diretório para onde a imagem comprimida será salva $Qualidade_img = 90; $Local_Img_comprimida[] = $destino_imagem; $Local_Img_original[] = ""; if ($nome_galeria != ""){ $sql = utf8_decode("INSERT INTO fotos (nome, nome_pasta) VALUES ('$nome_galeria', '$nome_pasta')"); if($conn->query($sql) === TRUE){ echo utf8_encode("<script> alert (\"Cadastro realizado com sucesso.\");</script>"); echo utf8_encode('<script>window.location="cad_foto.php";</script>'); } else{ echo "Erro: " . $sql . "<br />" .$conn->error; echo utf8_encode('<script>window.location="cad_foto.php";</script>'); } } $cont = $_FILES['file']['tmp_name']; for($i = 0; $i < count($cont); $i++){ // Algumas informações das imagens que serão necessárias. $Nome_Imagem = $_FILES['file']["name"][$i]; $Tamanho_Imagem = $_FILES['file']['size'][$i]; $TempSrc = $_FILES['file']['tmp_name'][$i]; $Tipo_imagem = $_FILES['file']['type'][$i]; $Process_Imagem = true; //Validação de arquivo e criação da imagem a partir da imagem que foi feito upload. switch(strtolower($Tipo_imagem)){ case 'image/png': $Imagem_Criada = imagecreatefrompng($TempSrc); break; case 'image/gif': $Imagem_Criada = imagecreatefromgif($TempSrc); break; case 'image/jpeg': case 'image/pjpeg': $Imagem_Criada = imagecreatefromjpeg($TempSrc); break; default: $Process_Imagem = false; //Formato do arquivo não suportado! } //Pega o tamanho da imagem list($Largura_atual,$Altura_atual) = getimagesize($TempSrc); //Local para as imagens de destino $DestRandNome_Imagem = 'fgaleria/'.$nome_pasta.'/'.$Nome_Imagem; //Name for Big Image date_default_timezone_set('America/Sao_Paulo'); $data_upload = date('Y-m-d H:i:s'); //Redimensionamento da imagem para o tamanho especificado na função resizeImage. if($Process_Imagem && resizeImage($Largura_atual,$Altura_atual,$Tamanho_Max_Imagem,$DestRandNome_Imagem,$Imagem_Criada,$Qualidade_img,$Tipo_imagem)){ //Novo tamanho para imagem list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandNome_Imagem); $Local_Img_comprimida = $DestRandNome_Imagem; } else{ echo '<p style="color:red;">Ocorreu um erro ao processar.<strong>'.$Nome_Imagem.'</strong></div>'; //output error } } } echo '<script language="javascript">alert("Imagens enviadas com sucesso!")</script>'; ?> O que vocês acham que pode ser? Obrigado desde já.
  9. juninhogpe

    Upload de imagem - JPG

    Pessoal, resolvi colocando um arquivo php.ini com as seguintes informações: upload_max_filesize = 20M post_max_size = 20M Obrigado.
  10. juninhogpe

    Redirecionamento interno.

    Tenta algo assim: <script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,600); } </script> Onde fica "window.scrollTo(0,600)", você vai mudando o "600" até chegar na posição que você quer ao carregar a página.
  11. Bom dia. Pessoal sou novato com Json, mais consigo recuperar uma lista de itens com javascript de uma url externa, faço a exibição dos itens em lista com ul's e li's, até ai tudo bem. Nessa lista tenho um link como "saiba +" e ao clicar gostaria de carregar os detalhes desse item que também está no Json para essa nova aba/tela, como posso fazer? E ao exibir na nova janela gostaria de fazer uma navegação do tipo: Anterior e Próximo. Desde já agradeço.
  12. juninhogpe

    Próximo e Anterior com Javascript e Json

    @Billy, segue o JSON: { "assetsLocation": "http://www.site.com.br/assets", "pessoas": [ { "nome": "João", "idade": 28, "amigos": [ { "nomeAmigo": "Flávia", "idadeAmigo": 35 }, { "segundoAmigo": "José", "idadeAmigo": 42 } ] }, { "nome": "Maria", "idade": 30 } ] }
  13. juninhogpe

    Próximo e Anterior com Javascript e Json

    Boa noite @Billy. Segue meu código: "funcao.js" $.getJSON('www.site.com.br/arquivo.json', function(data){ this.qtd = data.json.length; this.retorno = ''; for(i in data.json){ this.retorno += 'Nome: ' + data.json[i].nome + '<br />'; for (j in data.json[i].amigos){ this.retorno += 'TXT: ' + data.json[i].amigos[j].amigo + '<br />'; } this.retorno += '<br />'; } $('#resultado').html(this.retorno); }); var obj = new json(); obj.resgatarValores(); index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>JSON</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript" src="funcao.js"></script> </head> <body> <div id="resultado"></div> </body> </html> Obrigado desde já.
  14. juninhogpe

    Envio de array de inputs por e-mail

    Bom dia pessoal. Tenho um formulário, o qual a adição de inputs é dinâmica conforme o código abaixo: <div> <span><label>Medidas</label></span> <span> <script> $(document).ready(function(){ $("#add").click(function(){ $("#inputs").append('<input type="text" name="quantidade[]">'); $("#inputs").append('<input type="text" name="largura[]">'); $("#inputs").append('<input type="text" name="comprimento[]">'); $("#inputs").append('<input type="text" name="altura[]">'); return false; }); }); </script> <div id="inputs"> <input name="quantidade" type="text"> <input name="largura" type="text"> <input name="comprimento" type="text"> <input name="altura" type="text"> </div> </span><a href="javascript:;" id="add">+</a> </div> Até ai consigo ao clicar no "+" adicionar mais inputs. O envio por e-mail sei fazer quando já estou com os dados, mais como fazer para receber por exemplo um "$_POST" com esses dados e exibi-los? Eu gostaria de receber algo como exemplo: Quantidade: 10 Largura: 2cm Comprimento: 1cm Altura: 10cm Quantidade: 15 Largura: 3cm Comprimento: 7cm Altura: 9cm Quantidade: 20 Largura: 4cm Comprimento: 5cm Altura: 2cm Obrigado.
  15. juninhogpe

    Envio de array de inputs por e-mail

    Pessoal, bom dia. Obrigado. Consegui pelo utilizando o link aqui do fórum mesmo: https://forum.imasters.com.br/topic/426085-resolvido enviar-array-por-email-formulario/ Muito obrigado.
  16. juninhogpe

    Envio de array de inputs por e-mail

    @AndersonWS, bom dia. Obrigado pelo retorno. Fiz os testes mais não consegui o resultado. Fiz assim: <?php if($_POST) { echo 'Nome: ' .$nome = $_POST['nome_remetente']; for ( $i=0 ; $i<(count($_POST['quantidade'])) ; $i++ ){ echo '<br />Qtd.: ' .$quantidade = $_POST['quantidade'][$i]; } for ( $i=0 ; $i<(count($_POST['largura'])) ; $i++ ){ echo '<br />Largura: ' .$largura = $_POST['largura'][$i]; } } ?> <form method="post" action="meu-teste.php"> <div> <span><label>Nome do Remetente</label></span> <span><input name="nome_remetente" type="text" class="textbox" placeholder="Remetente" required ></span> </div> <div> <span><label>Mercadorias</label></span> <span> <script> $(document).ready(function(){ $("#add").click(function(){ $("#inputs").append('<div class="clear"></div><input type="text" name="quantidade[]" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" />'); $("#inputs").append('<input type="text" name="largura[]" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" />'); return false; }); }); </script> <div id="inputs"> <input name="quantidade[]" type="text" style="width: 10em !important; float: left; margin-right: 0.5em;" class="textbox" placeholder="Quantidade" required > <input name="largura[]" type="text" style="width: 10em !important; float: left;" class="textbox" placeholder="Largura" required > </div> </span> <a href="javascript:;" id="add">+</a> </div> <div> <span><input type="submit" value="Solicitar"></span> </div> </form> Mais quando faço a inserção com mais de uma linha ele só reconhece a primeira. O que pode ser? Obrigado e agradeço.
  17. juninhogpe

    Envio de array de inputs por e-mail

    @EdCesar, boa tarde. Obrigado pelo retorno. Acho que me expressei mal. Está tudo dentro das tags <form></form> e com method=POST, só queria saber como recebo na página PHP, não sei como receber um array, em uma varíavel. Pois o comum seria: $dados = $_POST['campo']; Mais e quando se trata desse campos dinâmico que vem de 4 em 4 campos, pois vai depender do usuário ir adicionando ou não mais linhas? Obrigado desde já e me desculpe por não ter me expressado corretamente na minha dúvida.
  18. juninhogpe

    Envio de array de inputs por e-mail

    Bom dia pessoal. Alguém tem alguma ideia que possa me ajudar? Obrigado.
  19. juninhogpe

    Abrir novo input

    Bom dia pessoal. Isso mesmo @kkumayama. @luiz14 perfeito a solução era o que eu precisava. Obrigado à todos pessoal.
  20. juninhogpe

    Abrir novo input

    Boa tarde. Pessoal alguém poderia me indicar um tutorial ou por onde começar para fazer o seguinte: Tenho um campo do tipo "select" e ao selecionar uma das opções gostaria que fosse aberto um input para digitar por exemplo o endereço da pessoa, caso for outro campo selecionado esse input não é exibido. Obrigado.
  21. Bom dia. Tenho uma página à qual utilizo tinymce para colocar textos. Mais quando vou editar algum texto que contenha "apóstofros" fazer update ocorre o seguinte erro: Erro You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Open Sans', sans-serif; font-size: 14.4px; text-align: justify;">Professores t Como vocês acham que posso corrigir isso? Agradeço desde já.
  22. juninhogpe

    Update em banco de dados utilizando tinymce

    Bom dia. Utilizei a função "addslashes", conforme informado pelo Thiago Belém no post: https://forum.imasters.com.br/topic/303627-problema-com-aspas-e-apóstrofos/ Obrigado pessoal.
  23. juninhogpe

    Incluir campos inputs

    @Gleyson Abreu muito obrigado. Resolvido.
  24. juninhogpe

    Incluir campos inputs

    Bom dia pessoal. Tenho um campo do tipo "input text" e tenho um símbolo de "+" ao lado e gostaria de quando clicar nesse mais adicionasse um input do tipo text abaixo desse e assim por diante, vocês poderiam me indicar qual caminho devo seguir para chegar nesse resultado ou algum plugin que posso utilizar? Agradeço. Att.
  25. juninhogpe

    Update em banco de dados utilizando tinymce

    @Osmar L Lima, fiz o que você me indiciou mais o erro persiste. É sempre quando cadastro algo como acento.
×

Important Information

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