-
Total de itens
1339 -
Registro em
-
Última visita
-
Dias vencidos
15
Tudo que Omar~ postou
-
Recuperar SPAN que tenha 2 atributos definidos
Omar~ respondeu ao tópico de FabianoSouza em Javascript
Uai! se fosse só pela declaração do atributo era simples.... porque normalmente nessas situações buscamos por um elemento em específico. Talvez seria uma boa usar um elemento identificado "#ID"? Sei lá, depende da arquitetura da aplicação aí..... -
Recuperar SPAN que tenha 2 atributos definidos
Omar~ respondeu ao tópico de FabianoSouza em Javascript
Tenta assim: var elTpReporte = document.querySelectorAll('[data-click="1"]'); var itens = []; elTpReporte.forEach(function (e) { if (e.classList.contains('sp-tp-reporte')) { itens.push(e); } }); console.log(itens); Não sei se é o melhor jeito, mas deve funcionar como esperado -
porque html5 funciona bem no computador, mas no smartphone não?
Omar~ respondeu ao pergunta de Manoel Cicero em Perguntas e respostas rápidas
O problema não é o HTML e sim script: Poste o código da função que é executada com o click.- 1 resposta
-
- html5
- powerpoint
-
(e mais 1 )
Tags:
-
Tenta assim: RowDataPacket.liv_codigo // Se for um objeto o resultado é "5" Pois a linguagem javascript não possui array str indexado, e me parece que seu caso é um object. Se estamos falando da mesma coisa leia: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/keys https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/values
-
Se for para acompanhar a rolagem tem que usar fixed. O fato de está quebrando o html é quase certeza absoluta que é por causa de erros na estrutura html. Uma vez que a propriedade fixed não altera o fluxo de outras tag's no documento. Obs.: Nesses casos para melhor ajudar seria bom apresentar algum website que usa algo igual ou similar ao pretendido, até mesmo imagens podem ajudar. Sendo o código em si menos relevante. Na verdade o outros elementos que vão se "mover" Dê uma olhada nisso, pelo que você mencionou foi o que imaginei que está tentando fazer:
-
Transformar date("Y-m-d H:i") em uma string 2021-04-22T00:00
Omar~ respondeu ao tópico de unset em PHP
<?php function dateTime($dateTime) { $timestamp = explode(' ', $dateTime); $getDate = implode('/', array_reverse(explode('-', $timestamp[0]))); return ($getDate . (isset($timestamp[1]) && preg_match('/:/', $timestamp[1]) ? ' T' . $timestamp[1] : null) ); } var_dump( dateTime('1111-22-33'), dateTime(date('Y-m-d')), dateTime('1111-22-33 44:55'), dateTime(date('Y-m-d H:i')) ); -
Quanto mais curto melhor para o usuário. Mas no geral tanto faz mesmo... Depende também do modelo de arquitetura da aplicação, pois se você precisa gerenciar conteúdos com informações pela url ajuda demais.
-
Primeiro que isso é impossível com 100% de precisão, porque a quantidade de informação disponível para ser extraída do usuário é mínima. Mas obtendo dados da máquina de quem acessa + endereço de IP você tem até um margem alta de acerto. Veja essa classe: Então você armazena em algum lugar dados da máquina que quando outro cadastro for requisitado você compara os valores se forem iguais o cadastro não continua. Exemplo: $agent = new UserAgent(); $dadosDeAcesso = $agent->getOs() . $agent->requestIP(); // Uma string com o sistema operacional e IP do usuário
-
Problema de atualização no mobile
Omar~ respondeu ao tópico de ernestovm em Desenvolvimento frontend
Primeiramente devemos deixar bem claro que isso não é em nada prejudicial ao usuário. Pois é! O salvamento em cache é vital para o usuário final. E essa questão não se aplica só ao Chrome e sim a todos browser's atuais. O que de fato atualmente todos os browser são uma porcaria para desenvolver. Entretanto, como já referido. Uma vez publicado a aplicação e ela está pronta, não há necessidade de ficar modificando html/css/js isso deve ser feito durante o processo de desenvolvimento. Para o desenvolvedor podemos nos utilizar de "gabiarras" para não ter em cache. Um dos recursos mais simples é sempre usar janela anônima, assim sendo o browser irá apagar todo cache quando reiniciado. Outra forma mais radical, usado junto a janela anônima (QUE NUNCA DEVE PERMANECER NA APLICAÇÃO DEPOIS DE PUBLICADA). É se por exemplo sua linguagem back-end for o php exemplo: <link href="folha_de_estilo.css?r=<?= time() ?>" rel="stylesheet" type="text/css" /> Com esse truque a cada atualização da página um novo CSS é gerado tendo sido modificado ou não. Porém como mencionei novo download será feito então isso nunca deve ser imposto ao usuário porque você só estaria prejudicando ele e deixando sua aplicação lenta. Só com essa gabiarra você poderá desenvolver sua aplicação tranquilamente. Outras alternativas: Se você usa linux você pode está usando algum cron que por sua vez pode ser configurado para limpar seu cache de navegação a cada X minutos (É isso que eu uso) Se você usa windows é poder optar por versões bem antigas do Mozilla ou Chrome que suportam CSS3 e HTML5. Essas versões antigas haviam a possibilidade de salvar o cache em memória ao invés de disco, assim sendo toda vez que a página era atualizada, a memória era re-escrita. No entanto no caso do chrome você deve desativar os processos autônomos de update no windows, porque ele atualiza mesmo sem que você esteja com o chrome aberto. Um outro ponto forte do chrome e do mozilla mais antigos é que são bem mais leves, práticos e não tinham tantos bugs como os de hoje em dia. -
Basicamente é simples, pois você vai armazenar os índices do gráfico no back-end em um array exemplo: <?php $indicesDoGrafico = [55, 30, 15]; E esses então você irá usar no javascript, mas como o javascript que front-end não se relaciona com o back você já tem que entregar isso renderizado para o browser. Acontece que array em PHP é uma coisa e array em JavasSript é outra completamente diferente você tem que fazer a conversão; o JSON é uma alternativa pois ambas linguagens usam esse paradigma igualmente. Então no javascript faça a conversão: var dados = JSON.parse('<?= json_encode($indicesDoGrafico) ?>'); Assim sendo você terá o array necessário para usar no "chart", apenas informando esse array: /* data: [55, 30, 15], // *os dados deverão ser impressos aqui */ data: dados, Não que isso tenha haver com seu problema só de bater o olho já vi, mas faça a correção nos escapes de objetos no seu código do cart "tem virgula sendo usada em local que não deveria". Isso causa lentidão de processamento, pois o browser deve fazer esses ajustes antes de executar o script
-
Existe alguma maneira de fazer um transition em javascript??
Omar~ respondeu ao tópico de Sapinn em Javascript
<style> .barra { position: fixed; z-index: 1; top: 0; left: 0; width: 100%; height: 70px; background-color: #090b13; opacity: 0; transition: .8s; /* Deixe o contador de aqui para ter efeito fade-in & fade-out */ pointer-events: none /* Não interagir com click's quando estiver invisível */ } .transition { opacity: .7; pointer-events: auto } </style> <div style="height: 1900px"></div> <div class="barra"> Lorem ipsum dolor sit amet </div> <script> var rolagem = 0; var barra = document.querySelector('div.barra'); document.addEventListener('scroll', rolarPagina, false); function rolarPagina(e) { rolagem = window.scrollY; if (rolagem > 900) { barra.classList.add('transition'); } else { barra.classList.remove('transition'); } } </script>- 2 respostas
-
- javascript
- transition
-
(e mais 2 )
Tags:
-
Verificar se já existe o nome cadastro no banco de dados
Omar~ respondeu ao tópico de Jack Oliveira em PHP
Faça a leitura no banco de dados previamente e armazene todos nomes em um array. Transforme esse array em string para ser usado no javascript. No javascript converta essa string em array. Ao submeter o formulário compare se o valor do input condiz com algum índice do array. <?php $nomes = [ 'Patinhas', 'Luizionho', 'Zezinho', 'Gaguinho' ]; ?> <form method="POST" action="" id="id_do_formulario" onsubmit="return(salvarFormulario())"> <input type="text" name="nome_empresa" id="nome_empresa" /> <button>Enviar</button> </form> <script> var nomes = JSON.parse('<?= json_encode($nomes) ?>'); function salvarFormulario() { var empresa = document.getElementById('nome_empresa').value.trim(); if (nomes.includes(empresa)) { console.log('O nome ' + empresa + ' já existe'); } else { console.log('O nome ' + empresa + ' não existe'); document.getElementById('id_do_formulario').submit(); } return (false); } </script> -
Dentro dessa condicional pois a operação aqui deve ser concluída "readyState == 4" e a requisição deve ter tido sucesso "status >= 200"..... E isso "$obj.status <= 299" nem deveria está dentro da condicional
-
#test { background-color: rgba(0, 0, 255, .5) }
-
Volto a esse tópico depois de bastante tempo pois o projeto do aplicativo foi arquivado, mas recentemente devido a alta absurda dos combustíveis resolvi retornar ao desenvolvimento do aplicativo. A dificuldade de calculo é justamente não saber quanto o carro/veículo faz por litro, então a solução foi pensar em um carro de corrida. distancia_a_percorrer = math.ceil(100.00) litros_iniciais = math.ceil(30.200) litros_depois_da_distancia = math.ceil(29.050) - 1 # -1 para um calculo mais preciso distancia_restante_ate_o_combustivel_acabar = distancia_a_percorrer / (litros_iniciais - litros_depois_da_distancia) print(distancia_restante_ate_o_combustivel_acabar) Um simples calculo que no principio não estava conseguindo elaborar....
-
Estou com dificuldade em elaborar o seguinte calculo: Um carro possui A de combustível de seu tanque Ao completar a 100 metros lhe restou B de combustível no tanque Seguindo esse ritimo de consumo quantos metros ele ainda vai poder percorrer? Parece simples não é, mas não estou conseguindo elaborar um calculo para isso....
-
Em resumo se vai usar uma função você deve recarregar-la. Quando você fez um require ele irá incorporar todos os dados PHP já processados até então junto a ele, mas quando você faz um ajax os dados do arquivos vão para o cabeçalho http antes que os dados anteriores terem existidos. Uma forma de exemplificar é isso: <?php echo hello(); // Erro essa função só existe depois, pois estou a chamando antes que ela exista function hello() { return ("Olá"); } Então se no arquivoA.php eu tenho já essa função, caso venha a usar um include em um arquivoB.php essa função exite então, só que seu usar ajax o arquivoB.php passa para antes que a função exista. Assim sendo no arquivoB.php basta fazer: <?php echo hello(); // erro em AJAX porque a função ainda não existe require_once("arquivo_da_funao.php"); echo hello(); // Sucesso em includes e AJAX /* devido ao require_once caso eu venda a dar include nesse arquivo ele não irá solicitar o mesmo arquivo novamente, mas no caso do ajax esse arquivo não existe aqui, assim então a função passa a ser incorporada evitando o erro */ Só que isso aqui não é uma boa ideia: Significa que a cada 2 segundos interruptamente a função é executada. Uma primeiro que você usa jQuery que é pesado demais para executar ajax, sobrecarregando o tempo de carregamento de todo documento html, isso quer dizer que sua aplicação será lenta para carregar, tirando a usabilidade de sua aplicação. Outra porque pelo que parece você está acessando um banco pelo arquivo divX.php, ou seja um máquina potente que pode suportar a exaustão causada pelo jquery o cara pode fazer: setInterval(reloadDivX, 1) que a cada 1 milésimo de segundo ele irá requeri o aquivo que por sua vez irá trabalhar do lado do servidor, dependendo então do que esse arquivo faz seu servidor pode não suportar a sobrecarga e cair. E mesmo que não haja alguém mau intencionado imagine 1000 pessoas acessando que a cada 2 segundos essas mil pessoas estarão requerendo dados do servidor interruptamente
-
Editar arquivos PHP, CSS, JS, HTML no diretório do site
Omar~ respondeu ao pergunta de Jack Oliveira em Perguntas e respostas rápidas
Isso é relativamente simples de fazer, porém inviável. Qualquer curso de programação web que se preste, uma das primeiras coisas que se ensina é "NUNCA EDITAR ARQUIVOS EM NUVEM" e eles "PROFESSORES COMPETENTES" estão absolutamente corretos em dizer isso. - Quanto ao HTML não há problemas. - Arquivos de folha de estilo e javascript acontece a seguinte situação: João da Silva acessou seu website todo css e js o hardware irá fazer o download deles para que na próxima vez que João acessar o browser não precise fazer o download novamente e sim usar os de antes. Podemos então definir um no-cache neles? Não, isso vai na contra mão das boas práticas da web. - Já os arquivos PHP é crítico! Um simples erro que cometer pode expor não só o código fonte como qualquer dado que deveria ser secreto para quem acessar. - O caso do wp é um sistema que trabalha ao oposto da segurança de um sistema que é ter Integridade e Confidencialidade por ser algo extremamente vulnerável. Eu até desenvolvi usando o code-mirror para realização dessa tarefa, mas é como disse. Implemente e irá se arrepender depois. Sugiro que veja essa palestra do Rafael: -
<img class="quadro" src="imagens/quadro.png" data-image="1" alt="" /> <img class="quadro" src="imagens/quadro.png" data-image="2" alt="" /> <img class="quadro" src="imagens/quadro.png" data-image="3" alt="" /> <script> var quadro = document.getElementsByClassName('quadro'); for (var i = 0; i< quadro.length; i++) { quadro[i].addEventListener('click', changeImage, false); } function changeImage(e) { var clickAtual = e.target; clickAtual.src = 'imagens/quadro-foto-' + (clickAtual).dataset.image + '.png'; } </script>
-
como Inserir Múltiplos checkbox vindo do banco e adicionar o id em outra tabela?
Omar~ respondeu ao tópico de Carlos Antoliv em PHP
Faltou mostrar como obtêm o nome do produto, e id do usuário. Sem essas informações não pude apresentar um exemplo melhor. <?php $produtos = [ 0 => ['id' => 1, 'nome' => 'lapis'], 1 => ['id' => 2, 'nome' => 'caneta'], 2 => ['id' => 3, 'nome' => 'borracha'] ]; var_dump($produtos); // Vendo se temos mesmo um array para percorrer ?> <hr /> <form method="POST" action=""> <?php foreach ($produtos as $produto) { ?> <input type="checkbox" name="check[]" id="<?= $produto['id'] ?>" value="<?= $produto['nome'] ?>" /> <?= $produto['id'] ?> <?php } ?> <button>Enviar</button> </form> <?php $post = filter_input_array(INPUT_POST, FILTER_DEFAULT); $inserir = []; if ($post) { foreach ($post['check'] as $chave => $valor) { $inserir[$chave] = $valor; var_dump($inserir[$chave]); // O id para executar a query } } Tenha em mente quantos input check podem ser enviados, pelo que percebi você irá executar uma query a cada input marcado. Então nada impede de alguém mau intencionado aditar o HTML pelo inspetor e colocar lá milhares de input fazendo seu sistema serve-side executar também milhares de vezes causando um colapso pela sobrecarga, sem entrar nos termos de injeção de código pois todo valor entrado deve ser verificado e tratado antes de jogar no banco.- 4 respostas
-
- inserir
- checkbox vindo do ba
- (e mais 6 )
-
Acontece que seu caso não tem nada haver com PHP e sim com HTML/Javascript que se trata da parte do usuário e não do servidor. O que vai ter que fazer é: Ao submeter o formulário que terá de ser por AJAX algum elemento surge cobrindo a página assim sendo qualquer click será nesse elemento. Esse ou outro elemento mostra alguma indicação enquanto os dados não são enviados. O que você procura é feito nesse exemplo: https://github.com/Spell-Master/sm-web/tree/master/exemplos/modal%26ajax
-
/* font-family: Algum nome para representar-la no CSS. É aconselhavel que use o nome mesmo da fonte src: Local de armazenamento do arquivo. É aconselhavel que use somente arquivos ".ttf" */ @font-face {font-family: 'NOME_REPRESENTATIVO'; src: url('../fonts/ARQUIVO_DE_FONTE.ttf')} .fonte_personalizada { font-family: 'NOME_REPRESENTATIVO' /* tudo que que tiver esse classificador será com a fonte anexada */ } <h1 class="fonte_personalizada">Olá mundo</h1>
-
Acho que a questão aqui possa ser: Não reinventar a roda.... var string = '%C3%A0,%C3%A1'; console.log( decodeURI(string) ); var outraString = 'Á é Í ó Ú'; console.log( encodeURI(outraString) );
-
Acontece uma coisa o PHP só pode entregar dados já prontos para o usuário. Ou seja depois que ele renderizou o conteúdo ele não interage com o usuário (aliás nunca o php interage com o usuário). Nesse entendimento será necessário que o usuário recarregue o conteúdo para que o php possa processar novos dados e renderizar para o usuário. Assim sendo pode fazer assim no PHP <?php $horaAtual = "13:30:00"; // use date('H:m:s') $horaAnterior = "13:19:00"; // Não sei como vai obter isso... $minutoAtual = (int) explode(':', $horaAtual)[1]; $minutoAnterior = (int) explode(':', $horaAnterior)[1]; $meioTempo = ($minutoAtual - $minutoAnterior); if ($meioTempo <= 10) { // fica na página } else { // redireciona } Lembrando que pode também simplificar usando um COOKIE de 10 minutos de duração. Se você quiser que o redirecionamento aconteça de forma altomática, você tem que usar um script que funcione no software do usuário. setTimeout(function () { window.location.href = "https://endereco_qualquer"; }, 600000);