Ir para conteúdo

Jonas Ribeiro Nascimento

Members
  • Total de itens

    18
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Jonas Ribeiro Nascimento

  1. Olá pessoal esse é o erro que tenho quando clico no botão de Login do Google nos navegadores Opera e Edge. O mais estranho que os erros não aparecem no Mozilla e Google Chrome, no Chrome e Mozilla loga de primeira vai normal. function onSignIn(response) { console.log("1"); // Conseguindo as informações do seu usuário: var perfil = response.getBasicProfile(); // Conseguindo o ID do Usuário var userID = perfil.getId(); // Conseguindo o Nome do Usuário var userName = perfil.getName(); // Conseguindo o E-mail do Usuário var userEmail = perfil.getEmail(); if(userEmail != ""){ botaoDeDeslogar(); //aparece o botao de deslogar botaoDeLogar(); //esconde o botao de logar } if(userEmail == ""){ } // Conseguindo a URL da Foto do Perfil var userPicture = perfil.getImageUrl(); //document.getElementById('user-photo').src = userPicture; //document.getElementById('user-name').innerText = userName; //document.getElementById('user-email').innerText = userEmail; // Recebendo o TOKEN que você usará nas demais requisições à API: var LoR = response.getAuthResponse().id_token; console.log("Token: " + LoR); }; $('#google_plus_a').on('click', function (e) { console.log("2"); e.preventDefault(); var auth2 = gapi.auth2.getAuthInstance(); auth2.signOut().then(function () { console.log("3"); console.log('User signed out.'); }); }); Tambem ja tentei assim //--------------------------------------------------------------------------------------------------- // verifica se o usuário está; logado e executa ações // executa ações se o usuário estiver logado /*gapi.load('auth2', function () { console.log("4"); gapi.auth2.init({ client_id: '428001492988-ouocv0d188o1nu3rdhas2dcatahsae1a.apps.googleusercontent.com', }).then(function () { console.log("5"); auth2 = gapi.auth2.getAuthInstance(); console.log(auth2.isSignedIn.get()); // Agora isso sempre retorna corretamente if (auth2.isSignedIn.get() == true) { botaoDeDeslogar(); //aparece o botao de deslogar botaoDeLogar(); //esconde o botao de logar console.log("6"); } else { //usuarioDeslogadoGoogle(); console.log("7"); } }); });*/ //--------------------------------------------------------------------------------------------------------------------------------------------------- //Botao de login do google esta aparencedo display block function botaoDeLogar() { console.log("8"); console.log("Usuário não esta conectado com o Google deseja logalo BT none!"); $('#g-signin2').css('display', 'none'); //Botão de login do google desaparece } function botaoDeLogar2() { console.log("9"); console.log("Usuário não esta conectado com o Google deseja logalo BT block!"); $('#g-signin2').css('display', 'block'); //Botão de login do google aparece } // Botao de sair se o usuario estiver logado esta aparencendo display none function botaoDeDeslogar() { console.log("10"); console.log("O usuário está conectado com o Google deseja desconectalo."); $('#google_plus_a').css('display', 'block'); //Botao de sair aparece } <!-- Infomações do google --> <script src="https://apis.google.com/js/platform.js" async defer></script> <meta name="google-signin-scope" content="profile email"> <meta name="google-signin-client_id" content="428001492988-97ub0g6ijog4n440anrgm706ijg0dqqt.apps.googleusercontent.com"> Erro que aparece no EDGE e no opera quando clico no Botão de " Login do Google " 400. That’s an error. Error: redirect_uri_mismatch The JavaScript origin in the request, https://www.****************.com, does not match the ones authorized for the OAuth client. Visit https://console.developers.google.com/apis/credentials/oauthclient/428001492988-97ub0g6ijog4n440anrgm706ijg0dqqt.apps.googleusercontent.com?project=428001492988 to update the authorized JavaScript origins. Learn more Request Details redirect_uri=storagerelay://https/www.************.com?id=auth604459 response_type=permission id_token scope=email profile openid openid.realm= client_id=428001492988-97ub0g6ijog4n440anrgm706ijg0dqqt.apps.googleusercontent.com ss_domain=https://www.*************.com fetch_basic_profile=true gsiwebsdk=2 That’s all we know. Erro que aparece nos console no Opera e no Edge cb=gapi.loaded_0:103 Uncaught {error: "idpiframe_initialization_failed", details: "Not a valid origin for the client: https://www..…itelist this origin for your project's client ID."} details: "Not a valid origin for the client: https://www.******.com has not been whitelisted for client ID 428001492988-97ub0g6ijog4n440anrgm706ijg0dqqt.apps.googleusercontent.com. Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID." error: "idpiframe_initialization_failed" __proto__: Object
  2. 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'; } }
  3. Jonas Ribeiro Nascimento

    Erro javascript “Error: VanillaMasker: There is no element to bind”

    Tenho esse seguinte problema aparece no console em todas as paginas, somente na pagina de cadastro que não aparece, tipo onde os inputs na tela de cadastro estão sendo usados o erro não aparece. Segue o erro do console em todas as paginas, menos na pagina de cadastro. vanilla-masker.min.js:49 Uncaught Error: VanillaMasker: There is no element to bind. at h (vanilla-masker.min.js:49) at add-javascript.js:6 h @ vanilla-masker.min.js:49 (anonymous) @ add-javascript.js:6 pagina do link add-javascript.js /* global VMasker */ // Mascaras do sistema de cadastro // Mascara do cep VMasker(document.querySelector('#Cep')).maskPattern('99999-999'); // Mascara do cpf VMasker(document.querySelector('#Cpf')).maskPattern('999.999.999-99'); // Mascara do data de nascimento VMasker(document.querySelector('#dataNascimento')).maskPattern('99/99/9999'); // Mascara do telefone fixo e celular function inputHandler(masks, max, event) { var c = event.target; var v = c.value.replace(/\D/g, ''); var m = c.value.length > max ? 1 : 0; VMasker(c).unMask(); VMasker(c).maskPattern(masks[m]); c.value = VMasker.toPattern(v, masks[m]); } var telMask = ['(99) 9999-99999', '(99) 99999-9999']; var tel = document.querySelector('#tel'); VMasker(tel).maskPattern(telMask[0]); tel.addEventListener('input', inputHandler.bind(undefined, telMask, 14), false); pagina do link vanilla-masker.min.js ! function(a, b) { "function" == typeof define && define.amd ? define(b) : a.VMasker = b() }(this, function() { var a = "9", b = "A", c = "S", d = [8, 9, 16, 17, 18, 36, 37, 38, 39, 40, 91, 92, 93], e = function(a) { for (var b = 0, c = d.length; c > b; b++) if (a == d[b]) return !1; return !0 }, f = function(a) { return a = a || {}, a = { precision: a.hasOwnProperty("precision") ? a.precision : 2, separator: a.separator || ",", delimiter: a.delimiter || ".", unit: a.unit && a.unit.replace(/[\s]/g, "") + " " || "", suffixUnit: a.suffixUnit && " " + a.suffixUnit.replace(/[\s]/g, "") || "", zeroCents: a.zeroCents, lastOutput: a.lastOutput }, a.moneyPrecision = a.zeroCents ? 0 : a.precision, a }, g = function(a) { this.elements = a }; g.prototype.unbindElementToMask = function() { for (var a = 0, b = this.elements.length; b > a; a++) this.elements[a].lastOutput = "", this.elements[a].onkeyup = !1, this.elements[a].onkeydown = !1, this.elements[a].value.length && (this.elements[a].value = this.elements[a].value.replace(/\D/g, "")) }, g.prototype.bindElementToMask = function(a) { for (var b = this, c = function(c) { c = c || window.event; var d = c.target || c.srcElement; e(c.keyCode) && setTimeout(function() { b.opts.lastOutput = d.lastOutput, d.value = h[a](d.value, b.opts), d.lastOutput = d.value, d.setSelectionRange && b.opts.suffixUnit && d.setSelectionRange(d.value.length, d.value.length - b.opts.suffixUnit.length) }, 0) }, d = 0, f = this.elements.length; f > d; d++) this.elements[d].lastOutput = "", this.elements[d].onkeyup = c, this.elements[d].value.length && (this.elements[d].value = h[a](this.elements[d].value, this.opts)) }, g.prototype.maskMoney = function(a) { this.opts = f(a), this.bindElementToMask("toMoney") }, g.prototype.maskNumber = function() { this.opts = {}, this.bindElementToMask("toNumber") }, g.prototype.maskPattern = function(a) { this.opts = { pattern: a }, this.bindElementToMask("toPattern") }, g.prototype.unMask = function() { this.unbindElementToMask() }; var h = function(a) { if (!a) throw new Error("VanillaMasker: There is no element to bind."); var b = "length" in a ? a.length ? a : [] : [a]; return new g(b) }; return h.toMoney = function(a, b) { if (b = f(b), b.zeroCents) { b.lastOutput = b.lastOutput || ""; var c = "(" + b.separator + "[0]{0," + b.precision + "})", d = new RegExp(c, "g"), e = a.toString().replace(/[\D]/g, "").length || 0, g = b.lastOutput.toString().replace(/[\D]/g, "").length || 0; a = a.toString().replace(d, ""), g > e && (a = a.slice(0, a.length - 1)) } var h = a.toString().replace(/[\D]/g, ""), i = new RegExp("^(0|\\" + b.delimiter + ")"), j = new RegExp("(\\" + b.separator + ")$"), k = h.substr(0, h.length - b.moneyPrecision), l = k.substr(0, k.length % 3), m = new Array(b.precision + 1).join("0"); k = k.substr(k.length % 3, k.length); for (var n = 0, o = k.length; o > n; n++) n % 3 === 0 && (l += b.delimiter), l += k[n]; if (l = l.replace(i, ""), l = l.length ? l : "0", !b.zeroCents) { var p = h.length - b.precision, q = h.substr(p, b.precision), r = q.length, s = b.precision > r ? b.precision : r; m = (m + q).slice(-s) } var t = b.unit + l + b.separator + m + b.suffixUnit; return t.replace(j, "") }, h.toPattern = function(d, e) { var f, g = "object" == typeof e ? e.pattern : e, h = g.replace(/\W/g, ""), i = g.split(""), j = d.toString().replace(/\W/g, ""), k = j.replace(/\W/g, ""), l = 0, m = i.length; for (f = 0; m > f; f++) { if (l >= j.length) { if (h.length == k.length) return i.join(""); break } i[f] === a && j[l].match(/[0-9]/) || i[f] === b && j[l].match(/[a-zA-Z]/) || i[f] === c && j[l].match(/[0-9a-zA-Z]/) ? i[f] = j[l++] : (i[f] === a || i[f] === b || i[f] === c) && (i = i.slice(0, f)) } return i.join("").substr(0, f) }, h.toNumber = function(a) { return a.toString().replace(/(?!^-)[^0-9]/g, "") }, h }); /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */
  4. Jonas Ribeiro Nascimento

    Mvc Php + Ajax não consigo passar return json_encode para o response do ajax

    Oi Williams descobri o erro eu estava retornando o html da pagina inteira e o ajax esperando o json... Entao criei na minha rotas uma view sem nada somente com returno do json ai deu certo
  5. Jonas Ribeiro Nascimento

    Mvc Php + Ajax não consigo passar return json_encode para o response do ajax

    Ola a todos e agradeço desde já Tenha a classe de validação do form onde pega todos os erros do form: // Validação final do cadastro public function validateFinalCadastro($arrVar) { if(count($this->getErro())>0){ $arrResponse=[ "retorno"=>"erro", "erros"=>$this->getErro() ]; }else{ $arrResponse=[ "retorno"=>"success", "erros"=>null ]; } return json_encode($arrResponse, JSON_UNESCAPED_UNICODE); } Aqui tenho o Controller que passa para view: public function teste() { //echo 'esse é um teste'; $this->recVariaveis(); $validate = new ClassValidate(); $validate->validateFields($_POST); $validate->validateEmail($this->Email); $validate->validateIssetEmail($this->Email); $validate->validateData($this->DataNascimento); $validate->validateCpf($this->Cpf); $validate->validateConfSenha($this->Senha,$this->SenhaConf); $validate->validateStrongSenha($this->Senha); $validate->validateCaptcha($this->gRecaptchaResponse); $validate->validateFinalCadastro($this->arrVar); } Se eu dar um echo, print ou vardump na $validate->validateFinalCadastro($this->arrVar); consigo passar ela pra view e apresentar o erro ...ele apresenta depois do fechamento do html da pagina... {"retorno":"erro","erros":["Email já cadastrado!","Utilize uma senha mais forte!","Sistema de segurança foi ativado! Atualize a página e tente novamente ou aguarde mais um pouco."]} Aqui esta o ajax sem datatype: 'json' Sem datatype: 'json' eu entro no success reponse mais caio no else, porque o response.retorno esta sem o datatype: 'json'. $('#FormCadastroClientes').on('submit', function(event){ event.preventDefault(); var dados=$(this).serialize(); console.log(dados); $.ajax({ url: getRoot()+'CadastroClientes/teste', type: 'post', contentType: "application/x-www-form-urlencoded;charset=UTF-8", data: dados, success: function (response) { $('.retornoCad').empty(); if(response.retorno == 'erro'){ getCaptcha(); $.each(response.erros,function(key,value){ $('.retornoCad').append(value+''); }); }else{ $('.retornoCad').append('Dados inseridos com sucesso!'); } }, error: function (response, jqXHR, request, status, errorThrown, erro) { console.log(response); //alert(dados); console.log(dados); //alert(jqXHR); console.log(jqXHR); //alert(request); console.log(request); //alert(status); console.log(status); //alert(errorThrown); console.log(errorThrown); //alert(erro); console.log(erro); }, complete: function (jqXHR, textStatus) { //colocar aqui algo que deseja que faça ao terminar todo o processo (finnaly) } }); Ajax com datatype: 'json' nao consigo entrar no success ele já cai no erro $('#FormCadastroClientes').on('submit', function(event){ event.preventDefault(); var dados=$(this).serialize(); console.log(dados); $.ajax({ url: getRoot()+'CadastroClientes/teste', type: 'post', dataType: 'json', data: dados, success: function (response) { $('.retornoCad').empty(); if(response.retorno == 'erro'){ getCaptcha(); $.each(response.erros,function(key,value){ $('.retornoCad').append(value+''); }); }else{ $('.retornoCad').append('Dados inseridos com sucesso!'); } }, error: function (response, jqXHR, request, status, errorThrown, erro) { console.log(response); //alert(dados); console.log(dados); //alert(jqXHR); console.log(jqXHR); //alert(request); console.log(request); //alert(status); console.log(status); //alert(errorThrown); console.log(errorThrown); //alert(erro); console.log(erro); }, complete: function (jqXHR, textStatus) { //colocar aqui algo que deseja que faça ao terminar todo o processo (finnaly) } }); Observações: - Consigo inserir no banco tudo ok. - Consigo apresentar o rertun json_encode direto na view - Consigo entrar no success do ajax sem usar datatype: 'json' não entro no if para ler o array mais entro no else. Eu recebo esse erros no console.log No response eu teria que receber o return do json_encode e não recebo. O que eu recebo é o html da view. O ajax esta esperando um retorno em json e nao o html da pagina. parsererror SyntaxError: "JSON.parse: unexpected character at line 1 column 1 of the JSON data" Obrigado a todos.....atecipadamente
  6. Edgard valeu pela dica olha que eu fiz..... $('#QtdParcelas').show().append("<option value='"+obj2.quantity+"-"+NumberParcelas+"'>"+obj2.quantity+" parcelas de "+Number2+"</option>"); Concatenei e separei por traço Depois $qtd_xxx = explode('-', $QtdParcelas_junto_com_valor); $Qtdxxxx = $qtd_xxx[0]; $Valorxxx = $qtd_xxx[1]; Deu certo | : D .....................Abraço....
  7. Oi vou fazer o teste aqui e já posto...valeu pela dica...
  8. Olá Pessoal Como segue na foto o script funciona no firefox....... o problema esta na select não lè cod: $('#QtdParcelas').show().append("<option value="+obj2.quantity+" label="+NumberParcelas+">"+obj2.quantity+" parcelas de "+Number2+"</option>"); Sera que pode ser: Rodapé: <script type="text/javascript" src="https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js"></script> <script src="Libraries/Javascript.min.js"></script> </body> </html> ------------------------------------------------------------------ Javascript function getParcelas(Bandeira) { PagSeguroDirectPayment.getInstallments({ amount: Amount, maxInstallmentNoInterest: 2, brand: Bandeira, success: function(response) { $.each(response.installments,function(i,obj){ $.each(obj,function(i2,obj2){ var NumberValue=obj2.installmentAmount; var Number2= "R$ "+ NumberValue.toFixed(2).replace(".",","); var NumberParcelas= NumberValue.toFixed(2); $('#QtdParcelas').show().append("<option value="+obj2.quantity+" label="+NumberParcelas+">"+obj2.quantity+" parcelas de "+Number2+"</option>"); }); }); } }); } //Pegar o valor da parcela $('#QtdParcelas').on('change',function(){ var ValueSelected = document.getElementById('QtdParcelas'); $('#ValorParcelas').val(ValueSelected.options[ValueSelected.selectedIndex].label); });
  9. Amigo deu certo muito obrigado 2 dias sofrendo com isso....o falta de atenção ....obrigado...obrigado....To sem palavras....
  10. Tabela ingredientes(tem preço) e tabela Bolos(vai a qtd de ingredientes) Com join pego o que preciso de cada tabela dinamicamente e multiplico o valor do ingrediente pelo sua grama. Mais o erro é que em cada loop ele soma a linha de baixo com a linha de cima....AFF... Obrigado a todos desde já. <?php $soma = 0; $resultado5=mysqli_query($conectar, "SELECT * FROM bolos_recheados_para_venda "); $linhas5=mysqli_num_rows($resultado5); while($linhas5 = mysqli_fetch_array($resultado5)){ $idx = $linhas5['id']; $nome_do_bolox = $linhas5['nome']; $modelo_do_bolox = $linhas5['modelo_do_bolo']; $tamanho_do_bolox = $linhas5['tamanho_do_bolo']; $resultado6=mysqli_query($conectar, "SELECT ingredientes.nome_ingrediente, ingredientes.preco_ingrediente * bolos_recheados_ingredientes.quantidade AS soma FROM bolos_recheados_ingredientes INNER JOIN ingredientes ON ingredientes.nome_ingrediente = bolos_recheados_ingredientes.ingredientes WHERE bolos_recheados_ingredientes.nome_bolo = '$nome_do_bolox'"); $linhas6=mysqli_num_rows($resultado6); while($linhas6 = mysqli_fetch_array($resultado6)){ $soma += $linhas6['soma']; } ?>
  11. Jonas Ribeiro Nascimento

    ORDER BY não lista a order decrescente

    Motta o sistema estava tudo pronto....somente pra cadastro de clinicas....ate ai tudo ..blz. Depois o cliente quis incluir..pessoa fisica / pessoa juridica - autonomo / pesso juridica - clinicas com varios funcionarios /entre outros .... ai so foi adapitando coisas no que ja estava pronto........rsrsrrs
  12. Jonas Ribeiro Nascimento

    ORDER BY não lista a order decrescente

  13. Jonas Ribeiro Nascimento

    ORDER BY não lista a order decrescente

    Não consigo ordenar .... na foto acima WHERE funcionario = '$nome_fantasia' ORDER BY id DESC ... Não consigo ordenar .... na foto acima WHERE cpf = '$nome_fantasia' ORDER BY id DESC ... Só consigo ordenar assim "SELECT * FROM paciente ORDER BY id DESC" Mais preciso ordenar por funcionario ou cpf
  14. Jonas Ribeiro Nascimento

    ORDER BY não lista a order decrescente

  15. Jonas Ribeiro Nascimento

    ORDER BY não lista a order decrescente

    1° - Sim a CPF....pode receber CPF / NOME FANTASIA / etc 2° - Quero ordenar pelo " id " 3° - ID é tipo INTEIRO auto incremento
×

Informação importante

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