Ir para conteúdo

gabrielms

Members
  • Total de itens

    108
  • Registro em

  • Última visita

Tudo que gabrielms postou

  1. gabrielms

    Somar var

    @EHCampos Bom é simples Exemplo: var n = 0; // Declarando um variavel global function funcaoTeste() { n++; // Incremetanto mais um na variavel global n; } funcaoTeste(); // Chamando função x 5; funcaoTeste(); funcaoTeste(); funcaoTeste(); funcaoTeste(); console.log(n); /* ============ Resultado no console: 5 */
  2. @ruan_dsgn A utilização do elemento iframe é uma pratica antiga , você pode optar por usar javascript nessa sua aplicação e assim manipular o elemento da página. Aqui tem um ótimo curso de javascript
  3. gabrielms

    Js - Jogo da adivinhação dos numeros

    @improgram Bom a dica está ai "adicionando mais uma clausula através do operador que significa E (o &&)", para você parar o loop basta adiciona mais uma condição para o loop ocorrer, usando o operador logico && = AND = e Exemplo: var numero3 = Math.round(Math.random() * 5); var tentativa3 = 1; var loop = true; while (tentativa3 = numero3 && loop == true) { var chute3 = prompt('qual numero ? '); alert('Numero digitado : ' + chute3); if (chute3 ==numero3) { alert('Parabens ACERTOU'); alert('Acertou: O numero é : ' + numero3 + ' : FIM'); loop = false; } else { alert('Voce ERROU'); if(chute3 > numero3) { alert('Chute é maior que o numero pensado '); alert('Chute é maior que o numero pensado' + '<br>'); } if(chute3 < numero3) { alert('Chute é menor que o numero pensado ' ); alert('Chute é menor que o numero pensado' + '<br>'); } } tentativa3++; } Nesse exemplo eu adiciono mais uma condição para ocorrer o loop. enquanto o valor da variável loop for igual a TRUE o loop vai ocorrer, caso não o loop vai para. Quando o jogador acerta o valor eu troco o valor da variável para false assim o loop para.
  4. gabrielms

    Como modifico uma propriedade através de uma variável?

    @Lottechar O que falta é um pouco de conhecimento em javascript HTML DOM. var info_cor = document.getElementById('mensagemCor').value; Nessa linha você salva o valor da propriedade value na variável info_cor mensagemCor.style.color = "#fff"; Nessa linha você tenta atribuir uma cor a um elemento que não foi selecionado, e também utiliza uma variável que não existe. Eu acho que o correto seria assim: function teste() { var info_cor = document.getElementById('mensagemCor'); // Aqui eu seleciono o elemento e guardo ele na variável info_cor info_cor.style.color = "#fff"; }
  5. gabrielms

    Barra Superior Acompanhar Scroll JQUERY

    @s3c0 Bom essa função só é chamada quando o usuário mexe no scroll, quando ele recarrega uma pagina no meio o script não é chamado, já que ele não mexeu no scroll. Para resolver isso, basta adicionar uma verificação depois que a página for carregada. Exemplo if($(window).scrollTop() > 68) // Caso o scroll dá página esteja em uma posição maior que 68 ele vai adicionar o css de baixo { $('.topo').css({ "position":"fixed", "z-index":"2", "margin-top":"0px", }); } O código final, ficaria assim: $(function() { // Verificação do scroll dá pagina if($(window).scrollTop() > 68) { $('.topo').css({ "position":"fixed", "z-index":"2", "margin-top":"-68px", }); } $(window).scroll(function() // Essa função só vai ser executada quando um usuário mexer no scroll dá página. { if ($(this).scrollTop() > 150){ $('.topo').fadeIn(); $('.topo').css({ "position":"fixed", "z-index":"2", "margin-top":"-68px", }); } else { $('.topo').css({ "position":"absolute", "z-index":"2", "margin-top":"0px" }); } }); }); Obs..: Por qual motivo você atribui dois z-index diferentes para o mesmo elemento?
  6. gabrielms

    Função não funciona

    @DinhoPHP Você salva o valor no atributo placeholder e não no atributo value. Na sua função desc(), você tenta pegar o valor da atributo value como ela está sem o valor ele não funciona. Assim ele deve funcionar function desc(){ var txtDobro = document.querySelector('#seuValorMult'); // VALOR QUE FOI DOBRADO var txtSacado = document.querySelector('#seuValorDia2'); var txtRestante = document.querySelector('#seuValorRes'); var resDobro = Number(txtDobro.placeholder); var resSacado = Number(txtSacado.placeholder); //var resRestante = Number(txtRestante.value); var resRest = resDobro; txtRestante.placeholder = resRest.toFixed(2); } OBs..: Esse seu código está muito bagunçado e tem muita coisa desnecessária, tenta melhorar ele um pouco.
  7. gabrielms

    API - Como funciona

    @Good Isso você pode fazer usando qualquer linguagem, um bom exemplo e o Laravel(Framework em PHP) que armazenando session em arquivo. o PHP e o mysql suportam muita coisa com apenas 128MB de memorial. O que você pode fazer é melhor os recursos para ambos e colocar um sistema de múltiplos servidores com um sistema de segurança ante DDOS. E também projetar bem o seu banco de dados.
  8. gabrielms

    conversão de moedas

    @Claudia França Como você quer automatizar isso? E qual a finalidade do resultado? Caso você queira algo mais simples, você pode usar apenas javascript para fazer a requisição para o server que converter a moeda. Exemplo: <h1>Digite um valor </h1> <select name="currency" required> <option value="USD" id="dolar" selected>Dolar $=</option> <option value="EUR" id="euro">Euro E=</option> </select> <input type="text" name="amount" size="15" value="20.00" > <span id="demo"></span> </br> <script> var select, valor, resultado; window.onload = function() { select = document.getElementsByName("currency")[0]; valor = document.getElementsByName("amount")[0]; resultado = document.getElementById("demo"); valor.addEventListener("keyup", converter); } function converter() { resultado.innerHTML = ("Carregando..."); if (!verificarValores()) { resultado.innerHTML = ("O valor inserido não é um valor valido"); return false; } let val = valor.value, curry = select.value, xhttp; if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { resultado.innerHTML = this.responseText; } else if (this.readyState == 4 && this.status >= 200) { resultado.innerHTML = ("Ocorreu um erro no servidor, tente novamente mais tarde."); } }; xhttp.open("GET", "http://free.currencyconverterapi.com/api/v5/convert?q="+curry+"_BRL&compact=y&&apiKey=2e5b8ec911e1ff89c8c4", true); xhttp.send(); return true; } function verificarValores() { let val = valor.value, curry = select.value; if (val == 0 || val == "0") { return false; } if (!parseFloat(val)) { return false } if (curry == "EUR" || curry == "USD") { return true; } } </script>
  9. gabrielms

    API - Como funciona

    @Good Pra que N motivos você teria um server PHP e um em Node.js? Se sua aplicação e desenvolvida em php não tem nenhum motivo para criar um server em Node.js. O único motivo para isso, seria o uso do socket web para trabalhar em tempo real. Os protocolos de requisição como HTTP, GET e POST são os mesmo para qualquer linguagem, se você quer criar uma API para se comunicar com diversas aplicações, basta criar um server para receber essas requisições e enviar de acordo com cada requisição.
  10. gabrielms

    Função não funciona

    @DinhoPHP Boa tarde! Eu consigo achar aonde a função cadValor() é chamada, mas eu não consigo achar aonde a função desc() é chamada. <button type="submit" value="ativa" class="btn btn-danger text-uppercase ml-3" data-toggle="modal" data-target="#modalHolerite" onclick="cadValor()">ativa</button> Eu acho que você esqueceu de adicionar um evento para chama a função desc() no button. <button type="submit" value="saque" class="btn btn-danger text-uppercase btn-sm mr-3">descontar</button> Falta o onclick="desc()" no button.
  11. gabrielms

    Lendo dado JSON webservice

    @Gilberto Jr O problema é bem simples! Quando você utiliza o loop(for) você acabo adicionando os valores nos mesmos elementos, assim o loop vai executando e todo vez ele vai substituído o ultimo valor adicionado, até sobrar o ultimo. Para corrigir isso basta você, em vez de você adicionar os valores em um elemento já existente, você criar um elemento e adicionar o valor nele e depois você adiciona o elemento na página. Exemplo: <html> <head> <meta charset="UTF-8"> <title>Teste</title> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"></script> <!-- Adicionando Javascript --> <script type="text/javascript" > $(document).ready(function(){ $("#search").click(function(){ $.ajax({ type: "GET", dataType: "json", url: "https://jsonplaceholder.typicode.com/photos ", success: function(data) { for (i = 0; i < 10; i++) { //vai passar por todos os objetos dentro do array console.log(1); $(".container").append(` <div class="row"><br/> <div>${data[i]["id"]}</div><br/> <div>${data[i]["albumId"]}</div><br/> <div>${data[i]["title"]}</div><br/> <img src="${data[i]["thumbnailUrl"]}"><br/> <img src="${data[i]["url"]}"><br/> </div> `); } } }); }); }); // END Function, END ready </script> </head> <body> <input type="button" placeholder="Busca" id="search" value="Buscar"> <section> <div class="container"></div> </section> </body> </html> OBS..: Eu modifiquei o for, porque a quantidade de elemento que ele carrega é muito grande, para evitar o lag eu coloquei um limite de 10.
  12. gabrielms

    API - Como funciona

    @Good Boa Tarde! Bom o Node.js não é uma linguagem, e sim um interpretador de javascript, ele expande o uso do javascript. Em questão de praticidade o PHP é mais solido e confiável, ele também tem uma das comunidade mais ativas. Para você entender como funciona um sistema de API Web, você primeiro deve entender o que é front-end e back-end. Eu não vou explicar, você acha muitos trópicos falando sobre. Eu faria usando, e os sistemas utilizam uma arquitetura de software. Uma bem famosa é o MVC. Depois dá uma olhada em XMLHTTPRequest.
  13. gabrielms

    Matriz através de valores de uma input

    @mpcarvalho Eu não encontrei esse erro de duplicata, mas pode ser um problema de duplo click. Uma coisa que eu notei, é que você acaba criando dois elemento img. Você cria o elemento img e depois adiciona um src(link) e um evento de onload, que está funcionado sem problemas, porem quando você vai adicionar na div, você acaba criando outro elemento img sem a necessidade. let img = document.createElement('img'); // Primeiro elemento img div.innerHTML += ` <div onclick="removerImage(this)" class="dl_imgs-wrap"> <img class="imgs" id="" src="${img.src}" /><!-- Segundo elemento img--> <p style="width: 230px; float=: left; font-size: 12px; margin:0px; margin-top:5px;">${img.width} x ${img.height}<span style="float:right;"></span></p> </div> `; Eu fiz um exemplo para caso você queira dar uma olhada: https://codepen.io/morto/pen/pozgwZJ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>IMG LOAD</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://kit.fontawesome.com/a076d05399.js"></script> <link href="https://fonts.googleapis.com/css?family=Roboto&display=swap" rel="stylesheet"> <style> html, body{ width: 100%; height: 100%; padding: 0px; margin: 0px; background: #323232; font-family: 'Roboto', sans-serif; overflow-y: hidden; } div.container{ overflow-y: auto; display: block; height: 100%; } #demo{ padding: 20px; display: flex; flex-wrap: wrap; text-align: center; align-content: center; justify-content: center; } #demo > div{ width: 240px; height: 240px; padding: 5px; background: #242424; overflow: hidden; margin: 10px; text-align: center; overflow-wrap: break-word; color: #fff; } #demo > div > img{ width: 100%; height: 100%; margin: 0px; } a.btn{ font-size: 36px; text-decoration: none; color:#ccc; text-align: center; } div.modal{ display: none; position: fixed; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0.9); } div.modal > div.modal-container{ margin: auto; display: block; width: 80%; max-width: 720px; } form[name="pesquisar"]{ background: #191919; color: #fff; padding: 20px; display: block; } form[name="pesquisar"] > div > label{ width: 100%; margin: 0px; padding: 0px; border: 0px; } form[name="pesquisar"] > div > input{ margin: 5px 0px; padding: 5px 0px; border: 0px; width: 100%; } div.modal-container, #demo > div{ animation-name: zoom; animation-duration: 0.6s; } @keyframes zoom{ from { transform:scale(0) } to { transform:scale(1) } } .btn-close{ position: absolute; top: 15px; right: 35px; color: #f1f1f1; font-size: 40px; font-weight: bold; transition: 0.3s; } .btn-close:hover, .btn-close:focus{ color: red; text-decoration: none; cursor: pointer; } @media only screen and (max-width: 720px){ div.modal-container{ width: 100%!important; } } </style> </head> <body> <div style="text-align: center; padding: 10px; background: #191919;"> <a href="javascript:void(0)" onclick="document.getElementsByClassName('modal')[0].style.display = 'block';" class="btn open"><i class="far fa-file-image"></i> Carregar imagens</a> <a href="javascript:void(0)" style="display: none;" class="btn load" ><i class="fas fa-sync fa-spin" style="font-size:24px"></i> Carregando...</a> </div> <div class="container"> <div id="demo"> </div> </div> <div class="modal"> <span class="btn-close" onclick="document.getElementsByClassName('modal')[0].style.display = 'none';" ><i class="fas fa-times"></i></span> <div class="modal-container"> <form onsubmit="return false;" name="pesquisar"> <div> <label>URL: </label> <input type="text" name="url" placeholder="URL do local das imagens, Exemplo: https://menusite.com/fotos/ "><br> <label>Imagens: </label> <input type="text" name="imagens" placeholder="Complemento dá url mais o nome e tipo da imagem, Exemplo: fotos1.jpg, fotos2.jpg "><br> <input type="submit" value="Carregar"> </div> </form> </div> </div> <script> var demno, form; const verificador = { loop : null, elementoCerregados : 0, elementNumero : 0, elementErro : 0, verificar : function(x, y){ document.getElementsByClassName("open")[0].style.display = "none"; document.getElementsByClassName("load")[0].style.display = "block"; this.elementoCerregados = y; this.elementNumero = x; this.loop = setInterval(function(){ if(verificador.elementoCerregados == verificador.elementNumero) { document.getElementsByClassName("load")[0].style.display = "none"; document.getElementsByClassName("open")[0].style.display = "block"; clearInterval(verificador.loop); verificador.loop = null; verificador.elementoCerregados = 0; verificador.elementErro = 0; verificador.elementNumero = 0; } }, 1000); } } window.onload = function() { form = document.forms["pesquisar"]; demno = document.getElementById("demo"); form.addEventListener("submit", function(event) { let url = form["url"].value, imagens = form["imagens"].value; event.preventDefault(); url.trim(); imagens.trim(); if(url == "") { return false; } if(imagens == "") { return false; } imagens = imagens.split(','); if (typeof imagens != "object" || imagens.length < 1) { return false; } carregarImgs(url, imagens); return false; }); } function carregarImgs(url, imagens) { document.getElementsByClassName('modal')[0].style.display = "none"; elmentosCarregados = 0; verificador.verificar(imagens.length, 0); for (i in imagens){ let elemtentImg = document.createElement("img"); tempo = i * 500; elemtentImg.setAttribute("delay", tempo); elemtentImg.onerror = function(){ let elementDiv = document.createElement("div"); elementDiv.innerHTML = ("Ocorreu um erro no load dessa Imagem : "+this.src); setTimeout(function(){ demno.appendChild(elementDiv); verificador.elementoCerregados++; }, this.getAttribute("delay")); verificador.elementErro++; } elemtentImg.src = url + imagens[i]; elemtentImg.onload = function() { let elementDiv = document.createElement("div"); elementDiv.appendChild(this) setTimeout(function(){ demno.appendChild(elementDiv); verificador.elementoCerregados++; elemtentImg.removeAttribute("delay"); }, this.getAttribute("delay")); } } } </script> </body> </html>
  14. gabrielms

    Ajuda com svg

    @Overtron8000 Olhando o seu projeto eu achei dois problema nessa sua condição if. Quando você faz a verificação do atributo cy, você tenta pegar ele de uma forma invalida. Esse if nunca vai funcionar. Você utiliza no seu projeto o Jquery e para manipular o atributo você utiliza o método attr() do Jquery para modificar o valor do atributo. Você também pode usar esse método para retorna o valor do atributo, nesse caso vamos usar para retorna o valor de cy. if (balloon.attr("cy") == 265) { numero = 0; contador.innerHTML = numero; } Porém mesmo você fazendo essa modificação o seu projeto não vai funcionar dá maneira que você quer. O motivo dele não funcionar é o fato de que a condição vai ser executada antes da bolinha chegar aos 265px. Eu tenho uma solução, eu não sei se é a melhor opção para o seu projeto, mas você pode adiciona um delay na verificação dessa condição usando o setTimeout com o tempo de duração da queda da bolinha; Exemplo setTimeout(function() { if (balloon.attr("cy") == 265) { numero = 0; contador.innerHTML = numero; } },755);
  15. gabrielms

    Matriz através de valores de uma input

    @mpcarvalho Eu achei dois problemas na sua função Um, é logo após você separa a string dá variável ean usando o split. Você converte aquela string em um array dividindo a string com base na virgula e depois você salva o resultado dá divisão na variável novoArray, porem você acaba salvando o arrray em um array com uma unica coluna. Quando você coloca a variável novaArray entre [ ], você acaba colocamo um array dentro de outro. Debug: Valor ean = "7896003703863,7897005100223,7897005101589,7896360210097,7896003703863,7897005100223,7897005101589"; novoArray = ean.split(','); var matriz = [novoArray]; // Resultado do Valor na variável "matriz": Tipo: object; Numero de colunas: 1; Valor: [ 0:["7896003703863", "7897005100223", "7897005101589", "7896360210097", "7896003703863", "7897005100223", "7897005101589"] ] Quando você utilizar o for na variável matriz ele vai pegar o valor da unica coluna que o array possui e vai converter o valor dessa coluna que é um array para uma unica string. Por isso ele retorna aquela string, como se ele nem executasse uma operação nela. O segundo é quando você concatena os valor e coloca dentro de uma div. Você não seleciona o índice do array que você está fazendo o loop. Isso também vai fazer com que ele retorna aquela string, como se ele nem executasse uma operação nela. Para corrigir isso, bastas usar o valor dá variável novaArray no seu for ou caso você queira salvar o valor na variável matriz, você colocar o valor sem está entre [ ]. Exemplo: novoArray = ean.split(','); for(i = 0 ; i < novoArray.length; i++) { div.innerHTML += '<img src="'+url+""+novoArray[i]+''+ext+'" />'; } // Ou novoArray = ean.split(','); var matriz = novoArray.slice(); for(i = 0; i < matriz.length; i++) { div.innerHTML += '<img src="'+url+""+matriz[i]+''+ext+'" />'; } Você também pode encurtar o for usando um for/in. Exemplo: novoArray = ean.split(','); for(indice = novaArray) { div.innerHTML += '<img src="'+url+""+novaArray[indice]+''+ext+'" />'; } Obs..:No javascript o array são objetos. E objeto são atribuídos por referência. Seja com o uso do igual, seja através de passagem de argumento em uma função.
  16. gabrielms

    Liberar elemento ou div ao selecionar uma opção

    @Akahs Tenta isso aqui deve funcionar. Eu tbm fiz algumas modificações no html. HTML: <div class="col-md-6"> <div class="form-group"> <select class="form-control" name="traslado" id="traslado"> <option value="false" selected disabled>Necessita Traslado?*</option> <option value="true">Sim</option> <option value="false">Não</option> </select> </div> </div> <div class="col-md-6"> <div class="form-group" style="display:none;"> <select class="form-control" name="hotel" id="hotel"> <option value="0" selected disabled>Se Sim, escolha o Hotel de Origem*</option> <option value="SleepIn Jacarei">SleepIn Jacareí</option> <option value="Ibis Jacarei">Íbis Jacareí</option> <option value="Ibis SJC">Ibis SJC</option> <option value="Novotel SJC">Novotel SJC</option> </select> </div> </div> Javascript: var select1, select2; window.onload = function() { select1 = document.getElementsByName("traslado")[0]; select2 = document.getElementsByName("hotel")[0]; select1.addEventListener("change", function() { if (this.value == "true") { select2.parentElement.style.display = "block"; } else { select2.parentElement.style.display = "none"; select2.getElementsByTagName("option")[0].selected = true; } }); } Caso você queira usar Jquery: $(function() { $("[name=traslado]").on("change", function() { if($(this).val() == "true") { $($("[name=hotel]").parent()[0]).css("display", "block"); } else { $($("[name=hotel]").parent()[0]).css("display", "none"); $($("[name=hotel]").children()[0]).prop("selected", true); } }); });
  17. @vinihhylian0103 Esse erro significa que você não tem um server de mail configurado. Se você está usando um ambiente de teste verifique se você tem um server de mail instalado no seu ambiente de teste.
  18. gabrielms

    Sistema multinivel

    @drx No seu caso, eu acho que o melhor CMS para trabalhar é o Wordpress. 1 - O Wordpress já é usando para montar um sistema multinível. 2 - Não conheço. 3 - O Wordpress é uma ferramenta em php que vai facilita o trabalho. 4 - Sim. O Mysql é suficiente para suportar o aumento de tráfego, mas para isso ocorrer ele só vai depender de sua configuração e do seu servidor.
  19. gabrielms

    Localização errada no GeoIP

    @Webster Moitinho O problema é bem simples! Quando você utiliza o file_get_contents para fazer uma requisição para o site do Geoip, quem faz essa requisição é o seu servidor é não o usuário, por isso ele retorna os dados do seu servidor. O Geoip trabalha com base no Ip para pegar a localização, quando você utiliza o link "https://geoip-db.com/jsonp", ele vai pegar o ip de quem fez a requisição para ele como foi o server quem fez a requisição ele vai pegar a localização do server. Você pode pegar o IP do usuário usando o $_SERVER['REMOTE_ADDR'] e passar ele junto do link do Geoip, assim o Geoip vai usar o IP que você passou para ele acha a localização. Exemplo: $json = file_get_contents('https://geoip-db.com/json/'.$_SERVER['REMOTE_ADDR']);
  20. gabrielms

    É a mesma coisa mas não funciona do mesmo jeito

    @Omar~ Quando você faz um include dentro de um método, esse include só vai herda o escopo do método e não do arquivo raiz. Vou fazer um exemplo para você entender melhor, nesse exemplo vou criar dois arquivo um com o nome de pai, que vai fazer o include, e o outro com o nome de filho, que vai fazer algumas verificações. pai.php <?php $variavelLocal = 100; function incluirArquivo() { $variavelLocalMetodo = 200; include("filho.php"); } function incluirArquivo_2() { global $variavelLocal; // Pegando a variável 'variavelLocal' e colocando dentro do escorpo do método $variavelLocalMetodo = 300; include("filho.php"); } echo("// Resultato 01 <br>"); include("filho.php"); // Incluindo o arquivo direto echo("=============================== <br><br>"); echo("// Resultato 01 <br>"); incluirArquivo(); // Incluido o arquivo por meio do método incluirArquivo echo("=============================== <br><br>"); echo("// Resultato 02 <br>"); incluirArquivo_2(); // Incluido o arquivo por meio do método incluirArquivo_2 echo("=============================== <br><br>"); filho.php <?php if(isset($variavelLocal)) { echo("Nesse exemplo eu encontrei a variável 'variavelLocal' com o valor: ".$variavelLocal."<br>"); } else { echo("Nesse exemplo eu não encontrei a variável 'variavelLocal' <br>"); } if(isset($variavelLocalMetodo)) { echo("Nesse exemplo eu encontrei a variável 'variavelLocalMetodo' com o valor: ".$variavelLocalMetodo."<br>"); } else { echo("Nesse exemplo eu não encontrei a variável 'variavelLocalMetodo' <br>"); } O resultado : // Resultato 01 Nesse exemplo eu encontrei a variável 'variavelLocal' com o valor: 100 Nesse exemplo eu não encontrei a variável 'variavelLocalMetodo' =============================== // Resultato 01 Nesse exemplo eu não encontrei a variável 'variavelLocal' Nesse exemplo eu encontrei a variável 'variavelLocalMetodo' com o valor: 200 =============================== // Resultato 02 Nesse exemplo eu encontrei a variável 'variavelLocal' com o valor: 100 Nesse exemplo eu encontrei a variável 'variavelLocalMetodo' com o valor: 300 =============================== Aqui tem um artigo falando melhor sobre: https://www.php.net/manual/pt_BR/function.include.php.
  21. gabrielms

    Problemas com Carousel Bootstrap no JS

    @DinhoPHP Bom eu não sei bem se o problema realmente e o Bootstrap. Você tem um erro de PHP PDO na sua página Erro: SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO) E o código HTML está todo bugado. Ainda tem os erros no console. Failed to load resource: the server responded with a status of 404 (Not Found) owl.theme.default.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found) logo.png:1 Failed to load resource: the server responded with a status of 404 (Not Found) owl.carousel.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found) owl.theme.default.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found) Tenta resolver isso, esses bugs devem ser o problema do seu carrossel.
  22. gabrielms

    Problemas com Carousel Bootstrap no JS

    @DinhoPHP O que falto na sua página para o carrossel funcionar foi o CSS. @media (min-width: 768px) { /* show 3 items */ .carousel-inner .active, .carousel-inner .active + .carousel-item, .carousel-inner .active + .carousel-item + .carousel-item { display: block; } .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left), .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item, .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item { transition: none; } .carousel-inner .carousel-item-next, .carousel-inner .carousel-item-prev { position: relative; transform: translate3d(0, 0, 0); } .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item { position: absolute; top: 0; right: -33.3333%; z-index: -1; display: block; visibility: visible; } /* left or forward direction */ .active.carousel-item-left + .carousel-item-next.carousel-item-left, .carousel-item-next.carousel-item-left + .carousel-item, .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item, .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item { position: relative; transform: translate3d(-100%, 0, 0); visibility: visible; } /* farthest right hidden item must be abso position for animations */ .carousel-inner .carousel-item-prev.carousel-item-right { position: absolute; top: 0; left: 0; z-index: -1; display: block; visibility: visible; } /* right or prev direction */ .active.carousel-item-right + .carousel-item-prev.carousel-item-right, .carousel-item-prev.carousel-item-right + .carousel-item, .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item, .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item { position: relative; transform: translate3d(100%, 0, 0); visibility: visible; display: block; visibility: visible; } }
  23. gabrielms

    Problema ao realizar um UPDATE com o PHP pdo mysql

    @luismanoel12 Bom quando você tenta atualizar o usuário você seleciona o campo do usurário com o novo nome e não com o antigo. $cmd = $pdo->prepare("UPDATE usuarios SET usuario = :usuario /* Aqui ele vai passar o valor do usuairo novo */, email = :email WHERE usuario = /* Aqui você tem que colocar o nome do usuário atual e não o nome de usuário novo */ "); $cmd->bindValue(":usuario",$usuario); // valor com o nome de usuário novo $cmd->bindValue(":email",$email); Você tem que colocar o valor do usuário atual em where . $cmd = $pdo->prepare("UPDATE usuarios SET usuario = :usuario, email = :email WHERE usuario = '".$_SESSION['usuario']."'; "); $cmd->bindValue(":usuario",$usuario); $cmd->bindValue(":email",$email); Eu não recomento a você utilizar o valor em session para fazer isso,. mas como teste ele pode servir.
  24. gabrielms

    Executar comando php sem ter que ter um formulário

    @andre2654 Para fazer isso você tem que utilizar o AJAX. Aqui tem um artigo falando sobre https://www.w3schools.com/whatis/whatis_ajax.asp.
  25. @kriskastro Bom amigo não deu para entender seu código ele está meio bagunçado. Algo muito estralho, é que você utilizar setTimeout para inserir o evento de click no botão. Se você quer espera a página carregar para inserir esses eventos e evitar erros, você pode utilizar o evento onload ou o método Ready Event Jquery. Exemplo: window.omload = function() { jQuery('#clica-botao-house').on('click', function(){chama ()}); jQuery('[data-avia-form-id]').hide(); } /* Método Jquery */ $(document).ready(function(){ jQuery('#clica-botao-house').on('click', function(){chama ()}); jQuery('[data-avia-form-id]').hide(); }); /* Método ainda mais curto Jquery */ $(function(){ jQuery('#clica-botao-house').on('click', function(){chama ()}); jQuery('[data-avia-form-id]').hide(); }); Para adicionar um código de redirecionamento caso ocorra uma requisição bem sucedida, eu precisos saber aonde acontece a requisição e como funciona o retorno dela. Você passa os dados do formulário para uma função chamada hc_envia_mensagemm e depois salva o retorno dela em uma variável, porem você não utiliza o retorno da função nem mesmo verifica o retorno. Vou deixa um exemplo do formulário com algumas modificações que eu fiz, com ele você pode modifica e adiciona o redirecionamento que você deseja. <div> <form onsubmit="return false;" class="avia_ajax_form av-form-labels-visible avia-builder-el-123 el_after_av_hr avia-builder-el-last av-custom-form-color av-light-form" method="post" name="formhouse"> <fieldset> <p id="element_avia_1_1" class=" first_form form_element form_element_third"> <label for="avia_1_1">Nome <abbr class="required" title="required">*</abbr></label> <input id="avia_1_1" class="text_input is_empty" name="nome" type="text" value="" placeholder="Nome" required> </p> <p id="element_avia_2_1" class=" form_element form_element_third"> <label for="avia_2_1">E-Mail <abbr class="required" title="required">*</abbr></label> <input id="avia_2_1" class="text_input is_empty" name="email" type="text" value="" placeholder="E-mail" required> </p> <p id="element_avia_3_1" class=" form_element form_element_third"> <label for="avia_3_1">Telefone <abbr class="required" title="required">*</abbr></label> <input id="avia_3_1" class="text_input is_phone" name="telefone" type="text" value="" placeholder="DDD + Telefone" required> </p> <p id="element_avia_4_1" class=" first_form form_element form_fullwidth av-last-visible-form-element"> <label class="textare_label hidden textare_label_avia_4_1" for="avia_4_1">Mensagem <abbr class="required" title="required">*</abbr></label><br> <textarea id="avia_4_1" class="text_area is_empty" cols="40" name="mensagem" rows="7" required></textarea> </p> <input id="avia_5_1" name="avia_5_1" type="hidden" value=""> <input name="avia_generated_form1" type="hidden" value="1"> <input id="clica-botao-house" class="button" type="submit" value="Enviar"> </fieldset> </form> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script> $(function(){ $("[name=formhouse]").on("submit", function(event){ let formulario = $(this), dados = formulario.serializeArray(); /* Filtros */ /* Verificar Nome */ dados[0]["value"] = dados[0]["value"].trim(); if (dados[0]["value"] == "") { alert("O campo nome é obrigatório."); return false; } /* Verificar e-mail */ dados[1]["value"] = dados[1]["value"].trim(); if (!validacaoEmail(dados[1]["value"])) { alert("E-mail invalido."); return false; } /* Verificar Telefone */ dados[2]["value"] = dados[2]["value"].replace(/[^0-9]/g, ""); if(!validatePhone( dados[2]["value"])) { alert("Numero de telefone é invalido."); return false; } /* Verificar Messagem */ dados[3]["value"] = dados[3]["value"].trim(); if (dados[3]["value"] == "") { alert("O campo mensagem está em branco."); return false; } /* Ajax */ $.ajax({ url : "URL", method : "POST", data : dados, success : function(){ window.location.href = "URL DE SUCESSO"; }, error : function(){ alert("Ocorreu um erro. Tente novamente mais tarde."); } }); event.preventDefault(); return false; }); $("[data-avia-form-id]").hide(); }); /* Função de verificação de e-mail. Fonte: https://www.devmedia.com.br/validando-e-mail-em-inputs-html-com-javascript/26427*/ function validacaoEmail(field) { usuario = field.substring(0, field.indexOf("@")); dominio = field.substring(field.indexOf("@") + 1, field.length); if ( (usuario.length >= 1) && (dominio.length >= 3) && (usuario.search("@") == -1) && (dominio.search("@") == -1) && (usuario.search(" ") == -1) && (dominio.search(" ") == -1) && (dominio.search(".") != -1) && (dominio.indexOf(".") >= 1)&& (dominio.lastIndexOf(".") < dominio.length - 1) ) { return true; } return false; } /* Função de verificação de telefone. Fonte: https://pt.stackoverflow.com/questions/293950/valida%C3%A7%C3%A3o-campo-telefone */ function validatePhone (phone) { var regex = new RegExp('^((1[1-9])|([2-9][0-9]))((3[0-9]{3}[0-9]{4})|(9[0-9]{3}[0-9]{5}))$'); return regex.test(phone); } </script>
×

Informação importante

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