Jump to content

Omar~

Members
  • Content count

    1322
  • Joined

  • Last visited

  • Days Won

    15

Omar~ last won the day on May 27 2018

Omar~ had the most liked content!

Community Reputation

87 Bom

About Omar~

  • Rank
    Knowledge is everything
  • Birthday 04/20/1984

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Nova Venécia (ES)

Recent Profile Visitors

14822 profile views
  1. Omar~

    PHP INCLUDE E INCLUDE_ONCE

    Evite fazer requisição de arquivos em métodos, sei que dependendo do cenário isso é necessário. Nosso colega apresentou um recurso viável e muito coeso. Possuir uma classe específica só para conectar. Mas vou sugerir algo diferente, ao invés de manter a conexão fixa hora que o servidor pode cair o uso do método construtor na classe pode gerar problemas nessa situação nada grave. Enfim pode optar por herança, toda classe que possuir métodos para acesso ao banco de dados é filha da classe mãe que faz a conexão. Na classe mãe você pode optar por duas alternativas: Usar um método que devolve o atributo que armazena a conexão. Usar o mesmo atributo que armazena a conexão (menos confiável). Em ambos os casos para que a classe filha possa acessar o método ou atributo deve ser protegido, não público para que não haja alguma forma de arbitrariedade da aplicação. A classe filha você estende ela para a mãe assim pode usar quaisquer atributos ou métodos criado anteriormente. Outra dica que digo; é usar constantes, assim em toda a aplicação ela é válida sendo em classes ou qualquer outro ambiente da aplicação. (Use para armazenar dados de acesso). Veja na prática com essas duas classes que utilizam PDO. Veja que na classe filha o uso do prefixo extends depois do nome da classe atual seguida da classe ao qual vai herdar valores. Queria deixar aqui uma dica bônus, para que não precise ficar usando require nos arquivos de classe, uma função que no momento que você declara um objeto ela vai fazer isso de forma mágica, toda vez que uma classe for necessária essa função automatiza o processo para que não precise ficar escrevendo require de arquivo por arquivo. Portanto basta apenas usar um require no arquivo de que guarda a função no index.php por exemplo, dependendo da arquitetura do seu projeto, você nem precisará mais requerir Obs.:
  2. Omar~

    Como identificar um nome assim: urKNPIjafGeLWsnT

    Use captcha, é para essa finalidade que isso existe. Você pode desenvolver um, não use sistemas alheios a eficácia está no código não ser conhecido para que programas não possam ser projetados para burlar. Existe um serviço da google que é "gratuito" onde você implementa somente a interface, sendo o código protegido pela empresa. Comece lendo: https://www.google.com/recaptcha/about/
  3. Omar~

    Como identificar um nome assim: urKNPIjafGeLWsnT

    @terra É realmente necessário? A primeiro ver acredito que daria para criar uma expressão de avaliação de string, tal essa verificaria incoerência no texto. No entanto uma só não funcionaria, teria que fazer uma análise nas milhares possibilidades de combinações de letras possíveis. Aí entra o contexto que assim exigiria muito processamento para algo que realmente não seja necessário. Teria que ser somente com uso de expressões regulares e não daria para criar uma lista de nomes possíveis permitidos. Quantos nomes diferentes existem nos 8 bilhões de pessoas que existem aproximadamente no mundo? Inviável criar uma listinha para isso. Tenha em mente que seria um algoritmo bem chato de criar e levaria tempo para produzir-lo com eficácia aceitável, analisar diferentes combinações de letras para determinar o que é válido ou não, além do mais existem nomes de pessoas bem "bizarros"
  4. Omar~

    pegar ref da url

    Só para complementar o tópico do colega que no geral postou algo simplificado, mas devo acrescentar em caso do leigo compreender que pode ser executado algo assim. Lembrando que no exemplo ou na condição de simplificação do aprendizado não há problemas. Armazena o valor que atribuído ref que veio no protocolo não se sabe de quem ou de onde nem mesmo se foi seu formulário que enviou. O php vai armazenar na variável $ref sem problemas escapando qualquer codec. O problema é se usar instrução como essa em uma aplicação pronta e operando: Veja e $ref entrou na string de comando sem tratamento algum, sem mencionar o perigo ao banco de dados apenas atentarei em uma quebra de código, tal finalizando o php na linha e imprimindo todo o código fonte processado pelo php, isso inclui dados de acesso em geral que a aplicação está usando no momento. Por fim, como mencionado não há problemas em usar, se for no termos de simplificar um exemplo, um teste ou para prover a curva do aprendizado, pois você sabe que é você que está enviando, e sabe o que está enviando. Nosso colega não errou em passar a var direto na string, pois o tratamento de dados requer um refino bem apurado de acordo com a situação e não cabe em um só post. Complementando meu post anterior havia me esquecido: <form method="get" action="pagina2.php"> <input type="text" name="envio" value="exemplo" /> <button type="submit">Enviar</button> </form> <-- Tag's form não utilizam a atributo "name", somente seus componentes No atributo "action" você indica para onde os dados devem ser enviados (forneça o endereço se necessário) Submetendo o formulário teremos na url pois enviamos pelo GET e não POST: endereço http atual/pagina2.php?envio=exemplo Pode ser relativo dependendo das configurações do apache ou um htaccess --> O arquivo pagina2.php recebe a mesma coisa sem o uso do formulário, pode-se até digitar na barra de navegação que vai do mesmo jeito. <a href="pagina2.php?envio=exemplo">Enviar</a> POST também pode ser enviado, de forma arbitrária, só que não convém apresentar as formas necessárias para isso.
  5. Omar~

    pegar ref da url

    Vou te mostrar a função mais últil do PHP: var_dump Com ela você testar qualquer informação existente ou não, com erros ou não Se clicado no link da tag <a> em pagina1.php: var_dump($_GET); // Tudo que existe na super global GET Se submetido o formulário var_dump($_POST); // Tudo que existe na super global POST Para que haja redirecionamento na tag <a> o atributo deve possuir na propriedade o endereço do arquivo pagina2.php Para que haja redirecionamento na tag <form> e os valores dos elementos do formulário possam está na url, basta apenas alterar o protocolo de método substituindo post por get. Apenas para manipular o endereço da barra de navegação do usuário, leia seu tópico anterior pois respondi lá com o link da API que gerencia essa ação. Obs.: Não aconselhável manipular dados no servidor usando GET, apenas use para passar informações de referência, nunca para validação de dados.
  6. Omar~

    url

    https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState
  7. Omar~

    pegar nome digitado

    Antes de mais nada, assim como o colega disse o método usado mais ideal para levar dados de uma página/arquivo a outro é usando o protocolo GET. Respondendo a questão, não importa se vai levar dados por GET ou POST, basta apenas capturar o valor do input do formulário do arquivo anterior e ao atributo value pode-se usar o comando echo do PHP para isso Usar 1 arquivo ao invés de 2 tem pros e contras Pros: Menos arquivos que na verdade uso de mais é desnecessário, além que deixa o código mais flexivel. Contras: Maior arquivo de armazenagem, requer mais memória e processamento de condicionais que monitorarão qual parte do código deve entrar em ação. Minha sugestão é que se é necessário reutilizar o valor de um input do formulário anterior que use um só mesmo, não precisa inventar moda, quanto mais simples, mais limpo, mais eficaz. Afinal de contas do que adianta levar o valor do input do primeiro formulário para o segundo se nesse segundo o usuário pode modificar, sem sentido não é? Fica a dica de um só formulário. Se for algo indispensável usar 2 ou mais formulários "o que acredito que não seja", pode-se deixar a responsabilidade de processamento com o usuário criando novos formulários através do javascript, assim poupa o servidor em criar algo desnecessário, pois o consumo do usuário será praticamente o mesmo, em criar novos form's sem redirecionar ou usando o servidor que no caso o download de todos os dados a cada processo.
  8. Omar~

    pegar valor do botão

    A tag button não contabiliza o atributo value. Use a tag input. Em caso de uso necessário da tag button capture valores determinados como o próprio texto no elemento ou mesmo a propriedade de atributo dataset. https://developer.mozilla.org/pt-BR/docs/Web/API/Node/textContent https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset Leia isso: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array E evite inventar rodas quadradas como essa:
  9. Omar~

    Carregar div sem refresh através do link

    Adicione um evento de click em cada link então você pode optar por duas alternativas: Retornar a função e devolver um valor falso. Prever o comportamento padrão do navegador com a tag. No entanto sugiro mesmo que use uma tag button é para esse tipo de finalidade que ela serve. Preparei um exemplo usando a minha biblioteca javascript Arquivos usados: https://github.com/Spell-Master/sm-web/blob/master/javascript/jsd/js-default.js https://github.com/Spell-Master/sm-web/tree/master/javascript/jsd/ajax <?php $idA = 'Simulando valor'; $idB = 'Outro simulado de valor'; ?> <script src="js-default.js" type="text/javascript"></script> <script src="ajax.js" type="text/javascript"></script> <p><a href="pagina.php?id=<?= $idA ?>" data-exemplo=""> pagina A </a></p> <p><a href="pagina.php?id=<?= $idB ?>" data-exemplo=""> pagina B </a></p> <div id="resultado"></div> <script> // Criando tudo antes para melhorar o desempenho var links = jsd('[data-exemplo]'), href = undefined, resultado = jsd('#resultado'); links.click(function (evento) { // Impedindo que redirecione evento.preventDefault(); // Extraíndo o valor de id do href href = jsd(this).attr('href').split('id=').reverse()[0]; // Solicitando o arquivo pagina.php envinado a ele um Protocolo GET com os dados do link jsd.ajax({ url: 'pagina.php', protocol: 'GET', type: 'html', response: 'text', values: { pagina: href }, onResult: function (resposta) { resultado.html(resposta); } }); }); </script>
  10. Experimente esse meu script para usar como banner é responsivo e com suporte a touch-screen. Toda explicação, formas de uso e exemplo funcional se encontra no arquivo html. https://github.com/Spell-Master/sm-web/tree/master/javascript/SlideCarousel
  11. Omar~

    H1 que preencha toda a largura da container

    Agora a primeira coisa que me vem a cabeça é que você pode está usando o método de propriedade https://developer.mozilla.org/en-US/docs/Web/CSS/calc Quantas letras divididas por 100, esse valor se aplica a font-size do elemento, entretanto deve-se levar em consideração o tamanho de expansão da fonte usada. O negocio é tentativa e erro. Porém não estou tendo nada em mente para uma fonte 100% adaptável, a não ser redefinir o tamanho de acordo com o resolução. Se pensar em algo volto aqui.
  12. Omar~

    [Resolvido] update combobox php mysql

    @gersonab Verifique sim o console mas use o navegador Mozilla-Firefox, verifique os elementos no seletor veja se eles possuem valor. - Caso possua, o problema está na parte de recebimento de dados antes ou durante o UPDADE. Antes da executar a query verifique os dados recebidos através da função var_dump Os dados estão corretos nessa parte então presumimos que algo está errado na execução da query, você poderá saber qual o problema usando PDOException para lançar o motivo do erro pela exceção. - Caso os valores não estão presentes nas opções siga o procedimento anterior. Sem nenhum problema nos termos citados nessa parte veremos então o javascript, ao qual desconsidero ser o problema pois ele não monta o seletor. Se acha conveniente poste a estrutura das duas tabelas (não precisa dos registros) que irei fazer um exemplo prático para você analisar e compila-lo nas suas necessidades. O conceito apresentado pelo @washalbano é sem dúvida muito bom, assim se possui um arquivo que sempre estará de pronta entrega dos dados então é só montar o HTML com base no resultado. E necessariamente não é preciso trabalhar com JSON, porém é melhor pois quando se trata de arrays multidimensional é mais prático usar json no javascript. Mas considere que aplicar restrições/condições de leitura, hora que se usamos 2 ou mais tabelas; não precisaremos de ler outras tabelas quando apenas precisamos de uma só.
  13. Omar~

    Gerar código automático para login

    @rogerblower Veja que na minha postagem existe um spoiler onde está escrito "Mostrar conteúdo oculto" Pois bem clique para mostrar, verá então o código da classe. Copie todo o código dentro do spoiler. Como você está usando o wamppserver então dentro da pasta www crie um novo arquivo .php e cole o código da classe. Veja que o nome da classe é CreateCode então salve o arquivo com o mesmo nome. Agora crie outro arquivo .php esse você pode nomear como quiser. Nesse novo arquivo escreva isso: <?php require('CreateCode.php'); // Requisitando o arquivo da classe. $codigo = new CreateCode(); // Instanciando a classe, assim o objeto de orientação será $codigo $resultado = $codigo->defCode(10) . time(); // defCode é um dos métodos públicos da classe var_dump($resultado); // $resultado é o retorno do método Sugiro que estude sobre orientação ao objeto pois isso é o mais vital no php
  14. Omar~

    Gerar código automático para login

    Poste o erro.... A propósito fez o requerimento/inclusão do arquivo que contém a classe? Existe alguma função para auto carregamento de classes?
  15. Omar~

    Gerar código automático para login

    Essa classe possui métodos para geração aleatória de string, veja se algum lhe é útil: Exemplo: $codigo = new CreateCode(); $resultado = $codigo->defCode(10) . time(); var_dump($resultado); // string única, ou seja jamais será gerada outra igual
×

Important Information

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