Jump to content

Omar~

Members
  • Content count

    578
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Omar~

  1. Omar~

    Comparação de Dados com PHP

    Apresente algum conteúdo já criado. Pois precisamos saber que dados obter. Para onde eles vão. O que fazer com eles Veja
  2. Fica difícil dizer o está acontecendo, mesmo porque é confuso sua explicação. Acredito que seja o outline por dedução Porém pode ser apenas má construção do CSS ao qual alguma coisa esteja interagindo e essa coisa tem o "fundo azul". Tente algo como isso se for um elemento de tag <a> a, a * {outline:0} /* ou isso */ a, a * {outline:none} /* ou isso */ a:active, a:hover {outline-width:0} Mas de qualquer forma fica difícil só por especulação dizer qual a melhor alternativa a se tomar, sem conhecer a estrutura do CSS que está usando.
  3. Omar~

    Substituir caractere & por and

    Seria isso? <?php $string = "a & e & i & o & u"; echo str_replace('&', 'and', $string);
  4. Nesse caso seu optaria pelo ajax https://developer.mozilla.org/pt-BR/docs/Web/API/XMLHttpRequest/Usando_XMLHttpRequest
  5. Omar~

    Pegar evento button

    Exemplo: arquivo.php?envio_a=chaves&envio_b=madruga No php $_GET['envio_a']; // Isso será chaves $_GET['envio_b']; // Isso será madruga Exemplo: <?php if ($_GET['envio_a'] != 'chaves') { echo ("O param get envio_a não é igual a chaves"); } else { echo ("O param get envio_a é igual a chaves veja o resultado"); var_dump($_GET); } Possivelmente (não tenho certeza) está tentando vincular não um evento e sim um objeto. https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype Sim entendo, possivelmente você tem múltiplos botões para executar a mesma coisa então tente assim: (obs.: Mesmo sem precisar, testei mesmo assim...)
  6. Omar~

    Select Cidades e Estados

    Já viu isso? https://code.google.com/archive/p/cidades-estados-js/ É um ótimo javascript, talvez seja a solução que procura. Basicamente, seleciona um estado em um select, então o segundo select é preenchido com todas as cidades daquele estado.
  7. Omar~

    Pegar evento button

    Bem não li tudo, mas basicamente é só executar ajax, o que é muito simples de fazer. Escrevi uma coisa genérica aqui, só para mostrar como se faz de forma simples Veja: Isso é apenas a execução de javascript e não jquery, pelo fato que eu desaconselho o uso por milhares de motivos, mas tanto faz. O segredo está em enviar por parâmetro os dados para o arquivo que será solicitado pela requisição seu_arquivo.php?nome_do_parametro=conteudo_do_parametro Nesse caso no arquivo php teremos $_GET['nome_do_parametro']; que é "conteudo_do_parametro" De qualquer coisa veja essas documentações: https://developer.mozilla.org/pt-BR/docs/Web/API/XMLHttpRequest/Usando_XMLHttpRequest https://developer.mozilla.org/pt-BR/docs/Web/API/HTMLElement/dataset
  8. Isso é porque quando detectado um elemento button dentro de uma tag form, automaticamente qualquer navegador já irá interpreta-lo como: <button type="submit"> Independente do navegador ele por sí só já executa o protocolo e redireciona para o devido action do cabeçalho no form. Então o que temos de fazer é remover o comportamento padrão do browser ao submeter dados. A forma mais prática que vejo para se fazer isso é sempre não retornar nada durante a execução, exemplo:
  9. Omar~

    textarea com quebra de linha <br>

    Olha, lhe pergunto para que isso? Uma vez que o textarea já faz a quebra de linha toda vez que a tecla enter é pressionada? Mas só por olhar me parece que você está fazendo correto só que a função depende de 1 parâmetro OnEnter(this) que é a tecla pressionada e aqui você diz que o parâmetro é event window.event.keyCode. então sua função não deveria começar assim?: function OnEnter (event) { Ah e abaixo da condição da tecla não traga retorno usando return false;
  10. Siga esses passos. 1 - Atualize o mozilla para última versão. 2 - Abra o mozilla pressione (crtl + shift + i) 3 - Vá na aba console depois procure pelo um ícone que parece uma pazinha 4 - Marque todas opções. depois feche o mozilla. 5 - Limpe todos dados de navegação. 6 - Abra o mozilla acesse o website e repita o processo do passo 2. 7 - Clique na aba console e veja todos erros e alertas que o mozilla apresenta. Pois são esses os erros que cometeu. Nota: Pode ser difícil localizar os problemas se você utilizou diretamente no html div style=".... Nota 2: O mozilla muito menos exigente quanto aos acertos de regras (porém é muito exigente quando mal feitas) Nota 3: O mozilla é de longe o melhor browser de desenvolvimento (na verdade é o único que presta para essa finalidade) Nota 4: É possível configura-lo para não salvamento de dados A - No canto superior direito clique no menu > opções B - Clique em Privacidade e Segurança C - Localize histórico e selecione Nunca Memorizar. D - Feche e abra novamente o mozilla.
  11. Omar~

    boas praticas de desenvolvimento

    Bem... Isso não é muito questão de boa prática. Boa prática é um contexto relativo, mas basicamente é criar uma aplicação que visa acima de tudo a boa experiência do usuário. Se você cria um website/aplicação cujo quem acessa não tem nada a reclamar sobre seu funcionamento, desde a velocidade de carregamento até a facilidade de uso e por aí vai é porque você está respeitando bem as boas práticas. Exemplos cruéis de má experiência do usuário. Roubo de informações, armazenamento de cookies sem necessidade, propagandas em excesso, o usuário deve clicar em algo para poder acessar outra, redirecionamento sem consentimento do usuário. Só vou citar esses porque se falar de tudo vou ter que digitar muita coisa. Agora a sua questão, isso depende da arquitetura do projeto e o resultado final. Se fosse eu ainda não estivesse começado, optaria por: Por ser mais fácil e rápido para eu projetar/criar a aplicação. Veja meu último trabalho tive de fazer um website que cadastra diferentes empresas e cada empresa tem sua própria página dentro do website além de seu perfil. Ou seja a empresa pode criar sua página anunciar seus serviços/produtos falar de sí etc.. como bem quiserem. Nesse caso optei por criar uma página onde a empresa vai lá e edita sua página. Então usei um editor WYSIWYG ( tinyMCE ) removendo de mim a responsabilidade de criar um modelo e dando total liberdade para a empresa criar sua página com bem desejar, mesmo que quem fora fazer não saiba criar um pagina porque o editor já tras a facilidade de uso nessa situação. Só salvar essa página em um database (muito cuidado com isso porque está salvando toda uma arquitetura, onde podem haver funções maliciosas etc...).
  12. Omar~

    Contador de quantidade

    Bem nesse termo fica simples fazer a coisa veja preparei um exemplo. Não sei se é bem isso mas está aqui.
  13. Omar~

    Dúvida para gravar para URL amigável

    Como disse, você pode usar o javascript para facilitar ou interagir com o usuário. Ou seja tenho o input 1 o que eu digitar ele também é escrito no 2. Mas pelo que entendi sua pergunta era para gravar o nome sem acento e sem espaço no banco, então mostrei uma função que vai tratar o campo (só usei poucos caracteres de demostração) para fazer tal coisa quando o sistema do servidor é executado. A propósito não vejo razão para ao digitar em um input escrever em outro a mesma coisa só que com texto formatado. Fiz alguma brincadeira aqui, não está completa pois agora não estou me recordando como barrar outras teclas sem apelar para muitas camadas de verificação. Veja; Isso seria o javascript Então digamos que esse seja o html Só repassando, como disse acima que não vejo utilidade/benefício de tal ação, uma vez que um usuário mal intencionado com certeza porque esses não faltam por aí, vai abrir o inspetor > editar > e submeter esses dados modificados como ele bem quis para seu sistema. O que deve sempre entrar em ação é o tratamento de todo tipo de dado que entra na sua aplicação. Se fosse meu caso só pegaria o input nome da pessoa e criaria no back os dados que desejo para minha aplicação a partir desse nome que ela inseriu já tratados e limpos... bla... bla... bla.... Enfim fiz só um básico do que seria a função que executaria esse negócio de inserir no input e tal. No mais vi que está usando jQuery que uma coisa que passo longe, porque detesto.
  14. Omar~

    erro na passagem de $variavel

    @joseroberto91 Mostre a classe produto_manutencao. Use a ferramenta aqui do editor spiler e code assim: Pois temos que saber o que o método registros está fazendo. Se possível mostrar o erro que o php está informando.
  15. Omar~

    Dúvida para gravar para URL amigável

    Veja... nunca se deve deixar a responsabilidade de caracteres no javascript. Qualquer um pode pressionar ctrl+shifit+i e editar-lo. Não que não possa usar como em algo para facilitar, deixar mais agradável a experiência do usuário na aplicação, para isso usamos a própria máquina do usuário através do javascript. Mas quando for passar para o back-end onde a "mágica acontece" sempre quem deve fazer as coisas é o sistema que trabalha do lado do servidor. Fiz algo só para explicar (Não testei, pois estou escrevendo direto aqui, mas funciona) <?php function formartarTexto($string) { $arr = []; $arr['A'] = 'áÁéÉíÍóÓúÚ çÇ'; $arr['B'] = 'aAeEiIoOuU-cC'; $retorno = strtr(utf8_decode($string), utf8_decode($arr['A']), $arr['B']); return $retorno; } $nome = 'Maísa Gonçalves'; // Nome para formatar echo formartarTexto($nome); // A saída será Maisa-Goncalves echo strtolower(formartarTexto($nome)); // A saída será maisa-goncalves Se deu para entender criei um array com 2 índices A e B. Onde quando existirem os caracteres do A serão substituídos pelos do índice B. No mais o resto você ajeita da melhor forma que desejar.
  16. Omar~

    Contador de quantidade

    Bem, se fosse eu, modificaria a estrutura das funções, para elas se comunicarem entre sí. Usaria orientação ao objeto, assim sendo é mais prático só executar tal ação se um objeto existe ou se um método autoriza, e o mais é que não precisa ficar consultando o documento toda vez que precisar obter algum valor (isso você ganha muito em performace) etc... Mas, enfim... Isso: camposClonados.length são a quantidade de inputs existentes (use o length toda vez que precisar consultar esse tipo de coisa). Obs.: - Sua função está criando inputs com o mesmo ID no documento. - A função removerCampos está dentro da estrutura da função de adicionar. - Só não mostrei um exemplo porque não sei se você quer clonar todos inputs de um local para outro ou clonar de 1 em 1.
  17. Omar~

    Não consigo estilizar minha página :(

    Primeiro vamos ao mais óbvio.... Anexou corretamente o arquivo CSS ao documento HTM? Mais ou menos assim: <link href="style.css" rel="stylesheet" type="text/css"/> 2 - Havia definida outra cor antes? Tipo azul e agora quer torcar para verde, mas continua azul. Isso é cache do navegador. (Nesse caso e recomendo somente usar o Mozilla firefox para desenvolvimento, pois é o único que se pode configurar para não salvar nada em cache inclusive ao utilizar refresh) 3 - Existe algum outro arquivo CSS? Esse por sua vez está sendo inserido no html depois desse que define a cor, e o mesmo também modifica essa cor? 4 - Existem elementos que abrigam esse elemento class ao qual também tem text-color e esses possuem mais importância do que o elemento class. Seja só por ser elemento #ID ou simplesmente recebem... color: alguma_cor !important Ou algo similar a isso
  18. Omar~

    Help java script

    Seria algo como isso?
  19. Omar~

    Previnir MySQL Inject

    Há algum tempo me esbarrei em algo como isso, e francamente na minha situação foi complicado criar uma solução realmente eficaz, mas no final consegui. Antes de mais nada. Tem certeza que não tem como passar algum filtro para "limpar" esses caracteres ou realmente é necessário que permita a inserção de códigos em seu DB? Dê uma lida a respeito de htmlentities http://php.net/manual/pt_BR/function.htmlentities.php Leia também sobre html_entity_decode http://php.net/manual/pt_BR/function.html-entity-decode.php Outros recursos: http://php.net/manual/pt_BR/function.htmlspecialchars.php http://php.net/manual/en/function.htmlspecialchars-decode.php Veja o que se enquadra as suas necessidades Para completar esse assunto foi muito bem discutido aqui: https://forum.imasters.com.br/topic/563187-resolvido-sql-inject-quando-não-dar-para-impedir/
  20. Omar~

    Resgatando dados da url

    Simples Digamos então $endereco = "www.site.com.br/nome"; Pego o endereço e transformo ele em array Então tenho um índice para cada barra No caso ficaria assim: $explode = [0 => 'www.site.com.br', 1 => 'nome']; $explode = explode('/', $endereco); Mas vamos supor que eu tenha essa situação https://www.site.com.br/nome/ Ou seja terei 2 índices vazios pois há ocorrência de // onde uma delas é vazia e no final tenho novamente uma barra sem conteúdo depois Então para resolver isso: $sem_vazios = array_filter($explode); Agora como saber qual é o último índice? Bem, podemos usar de duas formas: Primeira $quantidade = count($sem_vazios) - 1; // É o total de indices menos 1 porque o primeiro índice de um array é sempre zero echo $sem_vazios[$quantidade]; // Resultado é 'home' A segunda forma seria reverter a ordem do array então o que era o último passa a ser o primeiro $reverter = array_reverse($sem_vazios); echo $reverter[0]; // Resultado é 'home'
  21. Omar~

    gerar lista de links âncoras dinamicamente

    Sim, pelo que deu para sacar você está obtendo dados vindo do banco. Sendo assim esses dados estão em array, então basta usar o php para escrever os elementos Exemplo (no caso $array seria um array obtido de dados do banco) <?php $array = [ 0 => [ 'titulo' => 'titulo1', 'conteudo' => 'bla bla bla' ], 1 => [ 'titulo' => 'titulo2', 'conteudo' => 'bla bla bla' ], 2 => [ 'titulo' => 'titulo3', 'conteudo' => 'bla bla bla' ] ]; $contagem = 0; $lista = "<ul>"; foreach ($array as $v) { $contagem ++; $lista .= "<li><a href=\"#{$v['titulo']}\">Título {$contagem}</a></li>"; } $lista .= "</ul>"; echo ($lista); No caso percorro esse array buscando informações para completar a escritura dos elementos que desejo. Perceba a situação, pois abordei em caso não houver um índice para capturar para escrever o número tipo titulo1... 2... usei uma var que se alto incrementa a cada volta do loop. Depende da situação, pois com ambos você pode escrever a página. A diferença é que o PHP não pode manipular a página depois de carregada, e o javascript só consegue manipular depois que a página é carregada.
  22. Omar~

    gerar lista de links âncoras dinamicamente

    Para mim não ficou claro como deveria usar as informações dos elementos H2. Então o que vou mostrar é um pequeno e simples exemplo de como capturar dados desses elementos <article id="buscar_por_isso"> <h2 data-html5="event-a">Primeiro</h2> <h2 data-html5="event-b">Segundo</h2> <h2 data-html5="event-c">Terceito</h2> </article> <hr /> <div id="exemplo"></div> <script> var article = document.getElementById('buscar_por_isso'); // Armazenar o conteúdo de busca var h2 = article.getElementsByTagName('h2'); // Busco todas tag H2 dentro da var article var quantidade = h2.length; // Conta quantos h2 existem var exemplo = document.getElementById('exemplo'); // Só por exemplo mesmo for (var i = 0; i < quantidade; i++) { // fazendo um loop para indexar dinamicamente cada h2 exemplo.innerHTML += h2[i].innerText + '<br />'; // Pegando o conteúdo de texto dentro de cada h2 e escrevendo em outro lugar h2[i].id = 'identificador-' + i; // Acionando um #ID em cada h2 //h2[i].dataset.html5; // isso por exemplo pega o valor do data de cada h2 } </script> Logo isso é questão de javascript e não PHP
  23. Omar~

    TROCAR O % PELO -

    Eu testei aqui e só de olhar não tem erro. Possivelmente você só deu CTRL+C e crtl+V. Esse editor aqui do fórum que é o IPB utiliza-se do ckEditor que já foi bom, mas suas últimas versões está deixando a desejar, assim como o próprio IPB. emfim se copiar aqui não vai copiar o código como ele é de fato e pode copiar caracteres não imprimíveis, e se seu editor de texto/ide não dar suporte a isso você nem ver o que copiou de errado. (Aparentemente isso só acontece no windows) Olha a sintax que você vai entender: http://php.net/manual/pt_BR/function.str-replace.php str_replace(O_QUE_BUSCAR, SUBSTITUIR_POR, STRING_PARA_FAZER_A_SUBSTITUIÇÃO); No caso eu mostrei buscando por conteúdos e substituindo usando arrays
  24. Omar~

    Endereços de páginas não amigáveis - .HTACCESS

    Por exemplo: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-z,0-9,A-Z,_-]+)\/?$ index.php?a=$1 [NC,L] RewriteRule ^([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ index.php?a=$1&b=$2 [NC,L] Digamos então http://endereco/restrita_user/ No index eu requisito o arquivo restrita_user.php desse modo $_GET['a'] Seguindo a lógica se for http://endereco/restrita_user/3 Que dar mo mesmo que http://endereco/index.php/?a=restrita_user&b=3 Então quer dizer que posso consultar o segundo valor da url em restrita_user.php desse modo isset($_GET['b']) { echo $_GET['b']; // Isso é só o exemplo que no caso estou dando um echo no valor } Eu particularmente prefiro sempre fazer o hacess desse modo RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 Só que nesse caso independente da url inserida só tem 1 parâmetro então para pegar cada valor deve-se filtrar os dados a cada ocorreria de uma certo caractere Exemplo se a url for: https://endereco/artigos/categoria/postagem/tipo/relacao Quer dizer que só terei um único valor sendo $_GET['url']; que é "artigos/categoria/postagem/tipo/relacao" <?php /* * Obs.: isso é só um básico de como seria para pegar cada valor de uma string no caso a url inserida */ function quebarUrl () { $filter = filter_input(INPUT_GET, 'url', FILTER_DEFAULT); $setUrl = empty($filter) ? 'home' : $filter; $arr = explode('/', $setUrl); return array_filter($arr); } Assim sendo eu tenho um array com cada índice contendo a string que aparece a cada ocorrência da barra $arr[0]; // artigos $arr[1]; // categoria $arr[2]; // postagem $arr[3]; // tipo $arr[4]; // relacao Caso não exista alguma entrada eu só terei um índice 0 que é home. De qualquer forma trazer um único índice para tratar cada entrada requer mais atenção para projetar a estrutura do website, como diretório base filtros de entrada caso contrário é meter os pés pelas mãos.
  25. Omar~

    Erro no php

    Poste sua conexão. Não precisa mostrar sua senha de acesso ou qualquer outro dado que usa para conectar assim como na imagem que apresentou está mostrando dados de acesso ao seu database. Dúvidas/dificuldades para iniciantes em PDO pode consultar esse guia https://forum.imasters.com.br/topic/565800-crud-introdução-a-pdo/
×

Important Information

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