Ir para conteúdo

Omar~

Members
  • Total de itens

    1325
  • Registro em

  • Última visita

  • Dias vencidos

    15

Posts postados por Omar~


  1. Pode remover isso em todos os arquivos:

    header('Content-type: text/html; charset=utf-8');

     

    E dentro da tag <head> no index adicione:

    <meta charset="UTF-8" />

     

    Isso deverá resolver.

     

    Citar

    Se não resolver....

    1 - Vefifique se os arquivos do seu projeto estejam codificados em utf-8(sem BOM)

     

    2 - É a forma que está salvando os registros no banco.

     

     

    Dica: Quando for salvar strings acentuadas opte pela função htmlentities

    Exemplo: 

    $entrada = "João e maria foram a pé na padaria comprar pão";
    $saida = htmlentities($entrada); 

    Resultado de $saida:

    Jo&atilde;o e maria foram a p&eacute; na padaria comprar p&atilde;o

     

    Não importa como sempre que tentar mostrar esse texto no browser irá renderizar com foi transcrito em $entrada pelo fato de não está usando codificação e sim entidades html.

     


  2. Você já entrou com a requisição GET na url

    configuracoes.php?pagina=pages

    O que você pode fazer para chamar outro arquivo é passar mais informações no caso

    configuracoes.php?pagina=pages&subcategorias&id=1

     

    Então abrimos o arquivo configurações.php

    Nele consulto se exite o GET pagina que nesse termos temo page

    if (isset($_GET['pages'])) {
      // incluir ou tomar outra ação
    }

    Com essa informação posso incluir outro arquivo ou tomar ações de acordo com as necessidades.

    E assim sucessivamente, lembrando que conforme o exemplo subcategorias não possui valor será uma string vazia.

     

    Lembrando que sempre poderá consultar o parâmetro de entrada, assim sendo incluir o arquivo exemplo

    siterul?configuracoes&pagina=pages&subcategorias&id=1

    ou seja existe o $_GET['configuracoes'] portanto pode-se incluir o arquivo configurações.php

     

     

    Sobre a inclusão de arquivos dinamicamente de acordo com os parâmetros, der uma olhada nisso:

    https://github.com/Spell-Master/Get-UrlAmigavel/blob/master/DataFilter.php#L88


  3. Opa?!

    Então exste alguma constante ou modo para obter o valor do post_max_size configurado no PHP.INI?

    É porque estou querendo lançar um erro personalizado quando o arquivo enviado ultrapassar esse limite.

    É fato que posso olhar isso e transcrever no código, mas caso a mesma configuração seja alterada esse manuseio ficará inviável. Pois a melhor forma seria a comparação direta.

     


  4. Tanto com os recursos do PHP quanto do apache você só poderá limitar acesso aos arquivos do servidor.

    Hora que se esses limites tem suas condições no caso do apache uma vez que forem severas nem  próprio código fonte do website poderá acessar como de exemplo imagens.

    Nem mesmo o browser poderá renderizar o conteúdo de acordo com essas limitações.

     

    No máximo o que dará para fazer é limitar a ativação de eventos usando javascript. Entretanto o browser funciona de um jeito o SO de outro e não existe bloqueio realmente capaz de executar tal coisa.

    Não importa o que faça sempre será possível obter qualquer dado/arquivo renderizado pelo navegador.


  5. Poste a estrutura da função GetUpdate que fica melhor para uma resposta mais precisa.

     

    Digamos que essa função receba 3 parâmetros.

    <a onclick="GetUpdate(item.IdCategoria, item.DescricaoCategoria, item.Nome)">

     

     

     


  6. Acredito que o ideal seria manipular o retorno desse método

    9 horas atrás, eduardaarosaa disse:

    $upload = $request->image[$i]->storeAs('upload', $nameFile);

    Ou seja já trazer os resultados em array e não os resultados em string

     

    Para não gerar essa confusão aqui:

    9 horas atrás, eduardaarosaa disse:

    string(38) "upload/172118201908225d5ef93e4d803.png" string(38) "upload/172118201908225d5ef93e4f9b2.png" string(38) "upload/172118201908225d5ef93e50899.png" string(38) "upload/172118201908225d5ef93e51b72.png"

     

    Sem testar, tentei simular o explode, nesse caso temos uma array que se torna muio mais do que multi-dimensional. Agora me faltou a mente uma forma mais coesa de obter cada sub-índice sem ser pela contagem uma vez que não conseguir imaginar uma maneira de varrer pelo foreach.

    $array = [];
    $array[] = [
        'upload/172322201908225d5ef9ba3cf15.png'
    ];
    $array[] = [
        'upload/172322201908225d5ef9ba3edab.png'
    ];
    $array[] = [
        'upload/172322201908225d5ef9ba3fbcc.png'
    ];
    $array[] = [
        'upload/172322201908225d5ef9ba4163a.png'
    ];
    $total_de_indices = count($array);
    for ($i = 0; $i < $total_de_indices; $i++) {
        echo "Array Atual: {$i} / Valor: {$array[$i][0]}<br />";
    }

     

    Enfim, acredito que a melhor solução seria manipular o retorno inicial para não ficar "inventando moda".


  7. Basta que verifique o conteúdo que vai manipular, se ele é X faça X se ele é Y faça Y. E por aí vai

     

    <a href="#palavra" id="palavra">Palavra1</a>
    <script>
        document.getElementById('palavra').addEventListener('click', mudaPalava, false);
    
        var foi_modificado = null; // Para a verificação por variável
        function mudaPalava(e) {
            e.preventDefault();
            var alvo = e.target;
    
            // Verificando por variável
            if (!foi_modificado) {
                alvo.innerText = 'Palavra2';
                window.foi_modificado = true;
            } else {
                alvo.innerText = 'Palavra1';
                window.foi_modificado = null;
            }
    
            /*
             // Ou verificando pelo texto
             if (alvo.innerText === 'Palavra1') {
             alvo.innerText = 'Palavra2';
             } else {
             alvo.innerText = 'Palavra1';
             }
             */
        }
    </script>

     


  8. 3 horas atrás, Salvatore disse:

    tenho que usar varias imagens?

    Não. Você pode usar o php para fazer a construção do html por repetições.

    exemplo:

    $img = "<div><img src=\"arquivo-de-imagem.formato\" alt=\"imagem\" /></div>";
    echo (str_repeat($img, 30)); // A string será repetida 30 vezes
    // OU
    for ($i = 1; $i < 31; $i++) {  // A string será repetida 30 vezes
        echo ("<div><img src=\"arquivo-de-imagem.formato\" alt=\"imagem-{$i}\" /></div>");
    }

    Obs.: Você pode fazer o layout dos botões com CSS ao invés de usar imagens, mas isso fica a critério da necessidade e objetivo final.

     

     

    3 horas atrás, Salvatore disse:

    De acordo que ele clica e seleciona a poltrona ela muda de cor 

    Para isso você pode usar o css (input checkbox + label), só então enviar a informação de qual cadeira foi clicada para o servidor.

    Porque?

    A ação do click é computada pelo hardware do usuário, ou seja, jamais o php que é executado no servidor irá saber em que local o usuário clicou, por isso a necessidade de enviar os dados.

     

    Vejamos um exemplo:

    <style>
        .recebe_label {
            display: none
        }
        label {
            margin: 1px;
            padding: 10px;
            background-color: blue;
            cursor: pointer
        }
        .recebe_label:checked + label {
            background: red
        }
    </style>
    <form method="post" action="recebe.php">
        <?php
        for ($i = 1; $i < 31; $i++) {
            echo ("<input class=\"recebe_label\" type=\"checkbox\" name=\"poltrona[]\" id=\"poltrona_{$i}\" value=\"poltrona_{$i}\" /><label for=\"poltrona_{$i}\">{$i}</label>");
        }
        ?>
        <button>ENVIAR</button>
    </form>

    Então no recebe.php eu obtenho os dados dessa maneira:

    foreach ($_POST['poltrona'] as $name => $checked) {
        if ($checked) {
            echo ("Input Selecionado:{$checked}<br>");
        }
    }

     


  9. 9 horas atrás, bruno SALVIATI disse:

    dentro de um form com metodo post , e dentro dele tem outro form

    Primeiramente isso é um erro de estrutura html.

    Formulários não devem abrigar outros formulários.

    Ou seja a tag form não pode abrigar outra tag form em seu contexto.

     

     

    Exemplo:

    <form> <!-- A tag form é aberta -->
        <form> <!-- A form tag é aberta mão não é finalizada -->
        </form> <!-- Matei a abertura da primeita tag form -->
    </form> <!-- Não existe a abertura da tag form para esse fechamento -->

    https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/form

     

     

    Agora ao post....

    Qual a necessidade de utilizar 2 formulários, sendo que você busca dados somente em 1?

     

    9 horas atrás, bruno SALVIATI disse:

    PS nao posso colocar o botao voltar fora do formulario pois seles ficam visualmente encaixados um no outro.

    Isso se resolve facilmente usando CSS

     

    9 horas atrás, bruno SALVIATI disse:

    PS 2 nao funciona se eu tento adicionar este onsubimit direto no button somente no form.

    Provavelmente pelo fato de colocar uma tag form dentro de outra.

    Mesmo que o browser "seja bonzinho" e não comprometa o restante da estrutura do html ele não sabe o que fazer nessas condições.

     

     

    Se você mostrar uma print de como deseja os elementos seja mais fácil apresentar um exemplo.

    Mas ao meu ver você tem uma lista que fica ao lado do form que poderia simplesmente alinhar-os com display ou float.

    De qualquer forma mostre um exemplo para termos noção melhor da situação.

     

     


  10. Estou meio confuso sobre o que de fato pretende, mas vamos ver...

    Em 16/08/2019 at 15:34, Salvatore disse:

    como eu faço pra editar isso abaixo usando php

    Tem que usar javascript

     

    Em 16/08/2019 at 15:34, Salvatore disse:

    queria saber como eu edito clicando por cima

    <p class="text-center"><span id="editar">1</span> CASH</p> 
    
    <script>
        var editar = document.getElementById('editar');
        editar.addEventListener('click', funcao_edita, false); // Detecta quando é clicado em cima
        editar.addEventListener('keypress', funcao_altera, false); // Detecta se algo é digitado
    
        function funcao_edita() {
            editar.setAttribute('contentEditable', true); // Faz com que seja possível editar o local
        }
    
        function funcao_altera() {
            console.log(editar.innerText); // Apenas exibe no console o texto do elemento sendo alterado
        }
    </script>

     

    Só que eu acho que seja algo similar a isso o que deseja:

    <?php
    $valor_pre_definido = 22;
    ?>
    <input id="editar" type="number" value="1" min="1" max="100"> CASH 
    <p id="resultado">R$ 1</p>
    
    <script>
        var editar = document.getElementById('editar');
        var resultado = document.getElementById('resultado');
        editar.addEventListener('change', funcao_edita, false);
    
        function funcao_edita() {
            var a = parseInt(editar.value);
            var b = parseInt(<?= $valor_pre_definido ?>);
            var c = a + b;
            resultado.innerText = 'R$' + (a + b);
        }
    </script>

     


  11. Em 14/08/2019 at 01:15, geivisonsales disse:

    tenho uma DIV que possui um while em php, esse while carrega 12 posts(DIV), e quero que quando acesse o site, a pagina carregue normalmente mas dentro da div aparece um loader e apenas mostre os posts quando todos estiverem carregados! isso é possivel?

    Sim usando ajax

     

    Arquivos necessários:

    Tanto o arquivo js quando o arquivo CSS serão obrigatórios a incluir no index

    https://github.com/Spell-Master/sm-web/tree/master/scripts/AjaxRequest

     

    Estrutura:

    <div id="local_para_carregar"></div>
    
    <script>
      var ajax = new AjaxRequest();
      // 1º "local_para_carregar" Parâmetro é o div#ID onde você quer que seja carregado.
      // 2º "aconsulta.php" Parâmetro é o caminho e o arquivo que será carregado.
      // 3º "false" Parâmetro (opcional/BOOL-true-false) Altera o endereço na barra de navegação.
      ajax.send('local_para_carregar', 'aconsulta.php', false);
    </script>

    Com o método send uma animação de progresso permanece no local do carregamento até que o arquivo que for carregado responda por completo.

     


  12. Olá.... então digamos que eu tenha a seguinte situação:

    <div>Exemplo</div>
    <div style="position:relative">
      <div style="position:absolute; height:500px; display:none">Caixa</div>
    </div>
    -----------------------------------------

    Então temos uma caxa com 500 pixels de altura e não visível. Alí onde eu coloquei um monte de traço seria um hipótese que fosse o fim da tela ou fim da rolagem de tela atual.

    Então pelo javascript eu mudo o atributo display da caixa absoluta para "block", a caixa irá aparecer.

     

    Como eu detectaria que não há mais espaço abaixo para exibir-la, mudando seu bottom para top, para que quando não houvesse espaço a baixo para exibir ao invés de mostrar abaixo ela fosse mostrada acima?

     

    Motivo:

    Eu criei esse seguinte script

    https://github.com/Spell-Master/sm-web/tree/master/scripts/SelectOption

    Que por sua vez personaliza o combobox de um select.

    Spoiler
    
    <select class="select-options">
        <option value="a">Selecione uma opção</option>
        <option value="b">Opção</option>
        <option value="c">Opção</option>
        <option value="d">Opção</option>
        <option value="e">Opção</option>
    </select>
    
    <script>
      var select = new SelectOption();
    </script>

     

     

     

    Mas me veio uma questão e se a pessoa quiser colocar o select logo no final do body? A lista personalizada será mostrada fora da tela.

    Lógico ele pode manipular o CSS para correção, mas seria mais interessante se o próprio script pudesse automatizar isso.

     

     


  13. Sem o html é difícil precisar uma resposta.

    Pode ser que a imagem tenha height inline que não é do mesmo tamanho do bloco.

    Pode ser um espaço em caractere dentro da tag figure (se foi usada).

    Pode ser outro bloco se sobrepondo.

    Pode ser outras questões do css sobrepondo.

    Pode ser propriedade float não foi devidamente encerrada.

    Pode ser a própria imagem que tenha essa linha preta no fim

     

    Clique com o botão direito do mouse sobre a imagem e selecionar "inspecionar elemento" (Use o Mozila Firefox) então faça uma análise nas definições da imagem e seus parentes que você poderá encontrar a raiz do problema.

     

    Porque pelo css postado não há esse tipo de anomalia. (isso se a imagem recebe o classificador vencedor_comp_futebol)

    De qualquer forma só com o html para reproduzir a página e analisar o que está causando isso.

    Se o website está no ar com essa questão basta informar seu endereço.

     


  14. Você diz que os includes header.php e footer.php que não estão funcionando?

     

    3 horas atrás, Pedro_silva disse:

    e eu quero que ele entrasse dentro do switch

    3 horas atrás, Pedro_silva disse:

    pra logar eu quero que ele direcionar para a mesma pagin

     

    Mas no código que você postou disse que a bateria está no index.php.

     

    Por eu não saber o que está fazendo, vamos supor que esteja no arquivo login_adm.php que é a página de login, ao redirecionar voltamos ao index

    header('LOCATION: index.php?pagina=agencia');

     

    Agora outra suposição.

    Digamos então que o css não está carregando....

    Adicione isso ao index.php na tag <head> antes de qualquer coisa

    <base href="endereço http do seu website">

    Caso julgue ser complicado ficar colocando o endereço eu criei uma função que automatiza isso.

    https://github.com/Spell-Master/Get-UrlAmigavel/blob/master/index.php#L8

    https://github.com/Spell-Master/Get-UrlAmigavel/blob/master/DataFilter.php

     

     


  15. Possivelmente a senha não está batendo!

     

    Ao final do laço de if (password_verify......

    Coloque uma condição

    } else {
        echo "A senha informada não confere";
    }

    Acredito que o caso seja que a forma que cria a criptografia da senha por JAVA que está o problema.

    Porque só não usa o php mesmo?

    password_hash('12345m', PASSWORD_DEFAULT);

     


  16. Realmente, quando se dar include em um arquivo ele passa a fazer parte do documento que o chamou.

    Assim sendo o arquivo incluído reconhece tudo.

     

    No caso da classe ela é quem faz o include, logo o arquivo só irá reconhecer o que está no arquivo da class ("não a classe nem os dados dela, porque isso já é outra história")


  17. Primeiramente eu fiz essa classe aqui, cujo o objetivo é ela encontrar por sí própria um arquivo e dar include no mesmo.... vejamos:

    Spoiler
    
    <?php
    
    class QueryPages {
    
        private static $FileName;
        private static $FileExists;
        private static $FilePath;
    
        public static function openGet($urlFile) {
            self::$FileName = (isset($urlFile) && !empty($urlFile) ? $urlFile : '404' );
            self::findFile();
            if (self::$FileExists) {
                include (self::$FilePath);
            } else {
                include (self::basePath('test_c') . 'outro.php');
                //die("Erro ao encontrar arquivo");
            }
        }
    
        private static function findFile() {
            self::$FileExists = false;
            foreach (self::getDir() as $dirPage) {
                if (file_exists(self::basePath($dirPage) . self::$FileName . '.php') && !is_dir(self::basePath($dirPage) . self::$FileName)) {
                    self::$FilePath = self::basePath($dirPage) . self::$FileName . '.php';
                    self::$FileExists = true;
                }
            }
        }
    
        private static function getDir() {
            return (['test_a', 'test_b']);
        }
    
        private static function basePath($path) {
            return (
                    __DIR__
                    . DIRECTORY_SEPARATOR
                    . '..'
                    . DIRECTORY_SEPARATOR
                    . 'modules'
                    . DIRECTORY_SEPARATOR
                    . $path
                    . DIRECTORY_SEPARATOR
                    );
        }
    
    }

     

     

    Basicamente então tenho dois diretórios (test_a e test_b) digamos então que dentro de test_a eu tenha um arquivo chamado exemplo.php

    Então para que o arquivo seja incluído basta eu chamar o método

    QueryPages::openGet('exemplo');

    Certo funciona beleza como era de se esperar.

     

    Aqui então entra o termo que quero chegar...

    Se eu criar uma variável qualquer no arquivo que chama o método para incluir, o arquivo incluso não reconhece essa variável.

    O interessante que se substituir o include pela classe e retornar o arquivo com seu diretório como string então dar o include chamando o método da classe, o arquivo que será incluído reconhece a variável criada...

    // Substiuíndo isso
    //include (self::$FilePath);
    // Por isso:
    return (self::$FilePath); // Ao invés de incluír o arquivo o método retorna o local dele como string

    Então a forma de uso passa a ser

    include (QueryPages::openGet('exemplo'));

     

     

    Alguém teria conhecimento ou uma teoria sobre o porque da classe incluir o arquivo, esse mesmo arquivo perde toda orientação do documento anterior?

    Uma vez que nada se muda em ambos os casos.

     


  18. Em 03/08/2019 at 16:16, fernandoinfo disse:

    @media screen e não funciona direito

    Funciona sim e é o caminho mais indicado.

    Pois essa é a técnica utilizada no design-responsivo.

    Acredito que não funcionou com você porque se esqueceu de passar os metadados no viewport.

    <!DOCTYPE html>
    <html>
        <head>
            <title>Exemplo usando media query</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <style>
                @media (max-width: 800px) {
                    .esconde {display: none}
                }
            </style>
        </head>
        <body>
            <div id="qualquer" class="esconde">
                Isso vai sumir quando a resolução horizontal máxima atingir 800 pixels
            </div>
        </body>
    </html>

     

    Mas se quiser fazer por meio de script, ao qual não é muito legal pois dependendo da velocidade do carregamento da página pode chegar a demorar que o elemento seja ocultado:

    <!DOCTYPE html>
    <html>
        <head>
            <title>Exemplo usando script</title>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
        </head>
        <body>
            <div id="qualquer">
                Isso vai sumir quando a resolução horizontal máxima atingir 800 pixels
            </div>
            <script>
                var qualquer = document.getElementById('qualquer'),
                        w = window.innerWidth;
                if (w <= 800) {
                    /* 
                     * Oculta o elemento se a resolução for menor que 800
                     * Isso estará funcional assim que o documento terminar de carregar
                     */
                    qualquer.style.display = 'none';
                }
    
                /* Temos que saber se a resolução foi alterada */
                window.onresize = function () {
                    window.w = window.innerWidth; // Obtem a largura atual
                    if (window.w <= 800) {
                        qualquer.style.display = 'none';
                    } else {
                        qualquer.style.display = 'block';
                    }
                };
            </script>
        </body>
    </html>

     

    DICA *

    Desde o HTML 4.01 não se usa mais language="JavaScript" e também não é mais necessário em HTML 5 type="text/javascript"

×

Informação importante

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