Jump to content

Edgard Hufelande

Members
  • Content count

    290
  • Joined

  • Last visited

  • Days Won

    4

Edgard Hufelande last won the day on April 30 2018

Edgard Hufelande had the most liked content!

Community Reputation

27 Levemente Bom

2 Followers

About Edgard Hufelande

  • Rank
    Programar me faz bem. c:
  • Birthday 05/28/1993

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Vitória da Conquista - BA
  • Interesses
    PHP, SQL Server, Javascript, MVC, POO, CSS3, HTML5, MySQL e jQuery.

Contato

Recent Profile Visitors

1029 profile views
  1. Edgard Hufelande

    Sugestão sobre criptografia de senha

    Estou desenvolvendo um app que será aberto ao público pra atender a necessidade de um município... As senhas no banco estou salvando criptografadas usando Bcrypt, porém tenho uma dúvida no lado cliente, tenho uma API Rest para comunicação entre o app e o servidor, no momento do login ou do cadastro eu já deveria enviar essa senha criptografada na requisição ou envio a senha normal e criptografo no lado do servidor? Resumindo, não quero uma solução, quero uma sugestão sobre se devo criptografar a senha no lado cliente ou no lado servidor. Desde já grato pela atenção.
  2. Edgard Hufelande

    Enviar resultado de uma função no botão submit do form

    Criei uma função formData para poder extrair e serializar os dados do formulário dinamicamente, caso você acrescente outro campo, automaticamente terá o valor dele. Por exemplo: window.formSubmit = (form) => { let fd = new FormData(form); // Os campos e valores do meu form let serialized = formData.asJSON(fd); // Serializando os valores e convertendo em objeto let ab = [serialized['a'], serialized['b']]; let cde = [serialized['c'], serialized['d'], serialized['e']]; let url = 'http://localhost/confRele?x='+ab.join(',')+':&y='+cde.join(',')+':&'; window.open(url); } /** window.formData é um objeto que possui uma função chamada asJSON que fiz para serializar os valores do FormData */ window.formData = { asJSON: (fd) => { let json = {}; // Crio um objeto para armazenar os campos do meu form // fd = FormData que enviei como parametro lá em cima "let fd = new FormData(form); formData.asJSON(fd);" // fd.entries() são todas as minhas entradas de valores do formulário, faço uma conversão para Array para facilitar // a iteração com os valores. // Depois de converter para array, o seguinte resultado: [["a", "valor do campo a"], ["b", "valor do campo b], ...] Array.from(fd.entries()).map(item => { // Aqui dentro terei acesso a cada Array que existe dentro da Array principal, se olhar bem, tenho várias Arrays dentro de uma Array. // Então como já tenho acesso as Arrays filhas, eu apenas pego os valores do Array utilizando seu index // Por exemplo ["a", "valor do campo a"] => index 0 = "a" | index 1: "valor do campo 1" json[Object.values(item)[0]] = Object.values(item)[1]; }); // Depois de ter iterado sobre cada campo do form e adicionado no meu objeto json, retorno ele com os valores // pra utilizar basta usar json['name_do_campo']; return json; } } Provavelmente não tenha sido claro o suficiente, isso se dá porque sou péssimo em explicar, meu raciocínio funciona melhor em implementação de códigos. rs
  3. Edgard Hufelande

    Enviar resultado de uma função no botão submit do form

    Veja se isso te serve: window.formSubmit = (form) => { let fd = new FormData(form); let serialized = formData.asJSON(fd); let ab = [serialized['a'], serialized['b']]; let cde = [serialized['c'], serialized['d'], serialized['e']]; let url = 'http://localhost/confRele?x='+ab.join(',')+':&y='+cde.join(',')+':&'; window.open(url); } window.formData = { asJSON: (fd) => { let json = {}; Array.from(fd.entries()).map(item => { json[Object.values(item)[0]] = Object.values(item)[1]; }); return json; } } <form id="form" method="POST" onSubmit="formSubmit(this); return false;"> Modulo: <input type="text" name="a"> Tecnum: <input type="text" name="b"> Gateway: <input type="text" name="c"> LocalIP: <input type="text" name="d"> Mascara: <input type="text" name="e"> <input type="submit" value="Enviar"> </form>
  4. Edgard Hufelande

    Como adicionar o header nesta solicitação jSON?

    Não sei se é possível alterar os headers da função $.get do jQuery. Mas você pode tentar alterar para: $.ajax({ url: 'https://url.com', type: 'get', data: { access_token: 'XXXXXXXXXXXXXXXXXXX' }, headers: { Header_Name_One: 'Header Value One', //If your header name has spaces or any other char not appropriate "Header Name Two": 'Header Value Two' //for object property name, use quoted notation shown in second }, dataType: 'json', success: function (data) { console.info(data); } }); Fonte: https://stackoverflow.com/questions/7100294/json-post-with-customized-httpheader-field
  5. Qual é a necessidade do atributo label? Porque não coloca o valor em value? A questão do atributo label é que ela não existe no Firefox, por isso nele funciona normalmente, em outros navegadores, o Chrome por exemplo, ele irá dá preferência no atributo label para exibição do texto no select. Se você remover o atributo label, no Chrome certamente irá aparece o filho de <option>, no caso "N parcelas de R$ .." Referências: https://www.w3schools.com/tags/att_option_label.asp
  6. Edgard Hufelande

    Erro na listagem com PDO

    Tente mudar o require_once "Tabelas.php"; para a primeira linha no arquivo Planos.php
  7. Edgard Hufelande

    Não consigo colocar o usuario e senha incorretos no formulário

    Tente mudar de if(empty($resultado)){ para if(count($resultado) == 0){ e teste para ver se irá funcionar.
  8. Edgard Hufelande

    Gravar array de comparação em um campo PHP/Mysql

    Crie um novo array com os valores que deseja alterar, fica até mais seguro de que você irá atualizar apenas os que foram modificados. Por exemplo. <?php $array_antigo = array('Brasil','Argentina','Paraguai','Uruguai'); $array_novo = array('Brasil','ArgentinaNOVO','ParaguaiNOVO','Uruguai'); $array_diferenca = array_diff_assoc($array_antigo, $array_novo); $array_update = array(); foreach($array_diferenca as $dif => $valor){ $array_update += [$array_antigo[$dif] => $array_novo[$dif]]; } var_dump($array_update); foreach($array_update as $key => $value){ var_dump("UPDATE paises SET pais = '{$value}' WHERE pais = '{$key}'"); } /* - Os outputs dos var_dumps no código serão respectivamente: array(2) { ["Argentina"]=> string(13) "ArgentinaNOVO" ["Paraguai"]=> string(12) "ParaguaiNOVO" } string(65) "UPDATE paises SET pais = 'ArgentinaNOVO' WHERE pais = 'Argentina'" string(63) "UPDATE paises SET pais = 'ParaguaiNOVO' WHERE pais = 'Paraguai'" */ Crie os updates através do segundo foreach, veja se funciona da forma que necessita.
  9. Edgard Hufelande

    Select de categoria

    Primeiro você tem que declarar seu form como post, para poder enviar os dados para o PHP, como também inserir um atributo name nos seus campos, tanto input quando select. <form class="col s12" method="POST" action="cadastrar_subcategoria.php"> <div class="row"> <div class="input-field col s6"> <input id="subcat_name" name="subcat_name" type="text" class="validate"> //AQUI EU CADASTRO MINHA SUB CATEGORIA <label for="subcat_name">Nome da subategoria</label> </div> </div> <div class="row"> <div class="input-field col s6"> <select name="id_categoria"> <option disabled selected>Escolha a categoria</option> //ESSES OPTION QUERO TRAZER VIA SELECT E NAO POSTO DIRETO EM HTML <?php require "config.php"; $stmt = $pdo->query("SELECT * FROM categoria"); $categorias = $stmt->fetchAll(); foreach($categorias as $categoria): ?> <option value="<?=$categoria['id_categoria']?>"><?=$categoria['nome']?></option> <?php endforeach; ?> </select> </div> </div> </form> Após da um submit no form, você obterá no seu $_POST do php um array com os valores do form, incluindo nome da categoria e o id dela, faça os testes e veja se consegue progredir com algo. rs Não se esqueça de adaptar o código a sua necessidade, o que eu fiz foi um exemplo.
  10. Edgard Hufelande

    Como habilitar e desabilitar um campo TEXT na tabela

    Você pode fazer isso utilizando jquery, deixar um campo hide ou show usando a função toggle dele. Segue um exemplo: https://jsfiddle.net/cwsL9gz9/
  11. Edgard Hufelande

    Select de categoria

    Possui algum código já feito para que possamos auxiliar em cima do que já fez? Ficaria mais fácil, inclusive ter ideia da lógica que utilizou.
  12. Edgard Hufelande

    COMO SELECIONAR SERVIOS COM UMA CHECKBOX?

    Depende muito de como foi feito sua lista, você pode fazer esse grid do print ser exibido dentro de um form, e a cada interação você adicionar um checkbox <!-- Apenas um exemplo --> <?php foreach($listaServicos as $servico): ?> <input type="checkbox" name="servicos[]" value"<?=$servico['idServico']?>" /> <?php endforeach ?> Com isso ao efetuar um submit no formulário, você obteria um array no $_POST com todos os ids dos serviços selecionados.
  13. Edgard Hufelande

    [Resolvido] Problema no codigo de streaming

    Teste com essa alteração que fiz, na linha 38 fiz uma outra forma de extrair a quantidade de ouvintes da string, veja se não é possível pegar essas informações de outra forma, por exemplo o uso de uma API fornecida pelo serviço de streaming. <?php //INICIANDO AS VARIÁVEIS UTILIZADAS $host = '167.114.53.24'; $porta = 9976; $Break = "\r\n"; $rt = ''; //ESTABELECENDO CONEXÃO AO STREAMING $fp = fsockopen($host, $porta, $errno, $errstr, 30) or die('Erro ao tentar conectar ao streaming.'); $header = []; $header[] = "GET / HTTP/1.1"; $header[] = "Host: {$host}:{$porta}"; $header[] = "User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"; $header[] = "Connection: Close{$Break}"; $header[] = ""; //SETANDO O HEADER AO STREAMING $header = implode($Break, $header); fwrite($fp, $header); //CAPTURANDO O STATUS E O CONTEUDO $retHeader = fgets($fp, 512); while(!feof($fp)) $rt .= fgets($fp, 512); fclose($fp); // debug //var_dump($rt); preg_match("/HTTP\/[\d].[\d] ([\d]+) (.*)/", $retHeader, $status); if($status[1] != '200') die("Erro ao tentar pegar o status do streaming.<br><b>{$status[2]}</b>"); //TRATANDO O CONTEUDO RECEBIDO preg_match("/Stream Title: <\/font><\/td><td><font ([a-zA-Z]+)=[^=]+><b>([^>]+)<\/b>/m", $rt, $locutor); $locutor = $locutor[2]; preg_match("/Stream Genre: <\/font><\/td><td><font ([a-zA-Z]+)=[^=]+><b>([^>]+)<\/b>/", $rt, $programa); $programa = $programa[2]; preg_match("/Current Song: <\/font><\/td><td><font ([a-zA-Z]+)=[^=]+><b>([^>]+)<\/b>/", $rt, $musica); $musica = $musica[2]; preg_match("/Stream Status: (.*)<b>(.*)\(([\d])(.*)/i", $rt, $ouvintes); //alteração feita aqui $ouvintes = trim(substr($ouvintes[2], 0, strpos($ouvintes[2], 'of'))); // debug // var_dump($ouvintes); //PREPARANDO E RETORNANDO OS DADOS $retorno = [ 'locutor'=>$locutor, 'programa'=>$programa, 'ouvintes'=>$ouvintes, 'musica'=>$musica, 'link'=>"http://{$host}:{$porta}/;"]; foreach($retorno as $i=>$v) $retorno[$i] = utf8_decode($v);
  14. Edgard Hufelande

    Como Agrupar um array

    Você tem 2 formas de corrigir isso, uma é reorganizando o form, outra é percorrendo o array do form e reorganizando a mesma, como não conheço a estrutura do seu form, vamos pela segunda solução que propus... <?php /* - Imagino que o array do seu form esteja com a seguinte estrutura. */ $_POST['form'] = array( 'nome' => array('Fulano', 'Ciclano'), 'sobrenome' => array('de Tal', 'da Silva') ); $mapped = array(); /* Para agrupar nome e sobrenome é necessário que as 2 arrays contenham a mesma quantidade para não causar inconsistência na informação a ser mapeada */ if(count($_POST['form']['nome']) == count($_POST['form']['sobrenome'])) { for($i = 0; $i < count($_POST['form']['nome']); $i++){ $push = array( 'nome' => $_POST['form']['nome'][$i], 'sobrenome' => $_POST['form']['sobrenome'][$i] ); array_push($mapped, $push); } } /* Imprimindo o resultado do mapeamento Se quiser testar online: http://sandbox.onlinephpfunctions.com/code/883eb757b7f6d448ccaf4d21cb7f3d8f00880830 */ var_dump($mapped);
  15. Edgard Hufelande

    chamada escolar

    O que deseja saber? Quer algum sistema para se basear? Já começou implementar algo?
×

Important Information

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