Ir para conteúdo

WictorP

Members
  • Total de itens

    281
  • Registro em

  • Última visita

Tudo que WictorP postou

  1. WictorP

    ID sequencial apos pesquisa

    Olá Bruno, tudo bem? Espero que sim! Creio que você deve criar uma array para armazenar está ID. O que está ocorrendo em seu código é apenas modificando a variável $i todas vez que o foreach é executado, adicionando claro um número a sua sequência, mas não está armazenando todos os Ids ou a quantidade de vezes que ele foi modificado. Abraços, Wictor Pamplona.
  2. WictorP

    Acesso à conteúdo restrito apelas pelo e-mail

    Olá Ussler, tudo bem? Espero que sim! Não é viável fazer uma autenticação somente por e-mail, pois apenas sabendo o e-mail da pessoa poderei acessar o conteúdo que ela requisitou ou que estará previamente cadastrado. Mas, caso seja essa a sua real necessidade, basta fazer o check no DB e verificar se o e-mail já existe e marcá-lo com uma SESSION caso seja verdadeiro. Crie duas colunas no seu banco de dados: USUÁRIOS | ID, E-mail PÁGINAS | ID, usuariosAutorizados Na página de "login" aonde irá efetuar a validação do e-mail basta criar uma sessão definindo o ID e o e-mail do usuário e comparando-o com o registro das páginas no banco. $userId = 3; $usuariosAutorizados = 3; if($userId == $usuariosAutorizados) { // exibe }else { // não exibe } Lógico que isto é só um exemplo e você terá que fazer a interação com o banco de dados. Abraços, Wictor Pamplona.
  3. WictorP

    Enviar informação do input "radio" para phpmyadmin

    Sim, como já informei no outro post, você deve usar o jQuery para disparar uma função ao alterar o radio, pois sem um input do tipo submit não irá conseguir fazer nada com a informação. Você vai usar a função .click da qual mandei a documentação parar disparar uma função .ajax que irá gravar o conteúdo na DB através de um PHP. .click https://api.jquery.com/click/ $("input[name='compound']").click(function() { // Dispara função ao clicar no input radio } .ajax http://api.jquery.com/jquery.ajax/ $.ajax({ // informações descritas na documentação. }); Não irei postar o código pronto porque o maior aprendizado do programador é quando ele quebra a cabeça tentando fazer o código. Leia a documentação das funções passadas, entenda sua lógica e tente adaptar o código acima. Caso surja alguma dúvida de como funciona, basta me avisar ou até mesmo me mandar uma mensagem privada. Abraços, Wictor Pamplona.
  4. WictorP

    Como apagar conteudo de um arquivo .txt com botão deletar

    Olá Salvatore, tudo bem? Espero que sim! Leia este tópico: https://forum.imasters.com.br/topic/135824-apagar-o-conteúdo-de-um-arquivo-txt/?tab=comments#comment-1538075 Abraços, Wictor Pamplona.
  5. WictorP

    Enviar informação do input "radio" para phpmyadmin

    Olá bob, tudo bem? Espero que sim! Se não tem nenhum botão de submit que envie o formulário, você deve fazer isso através de jQuery utilizando ajax. Documentações .ajax: http://api.jquery.com/jquery.ajax/ .click https://api.jquery.com/click/ Abraços, Wictor Pamplona.
  6. WictorP

    Validar usuário

    Se deseja trabalhar com mais de um aluno ou professor, é o recomendado. Mas já que não utiliza, basta definir quem tem acesso e usar o session mesmo. Na hora de logar verifica os usuários e senha e se for permitido lhe da permissão, por exemplo: session_start(); if($login == "x" $senha == "x") { $_SESSION['passe'] = "professor"; }else { $_SESSION['passe'] = "aluno"; } Depois é só usar a sessão para verificar se ele pode ou não acessar o conteúdo. Abraços, Wictor Pamplona.
  7. WictorP

    organizar pela data dentro do while

    Olá Kelven, tudo bem? Espero que sim! Em primeiro lugar gostaria de ressaltar que as funções mysql estão obsoletas desde o PHP 5.5.0. Mais informações você encontrará neste artigo: https://imasters.com.br/back-end/mysql-obsoleto-nao-utilize-funcoes-mysql_ ---- Para organizar por data você deve armazenar em seu banco de dados o timesamp e não a data em si. http://php.net/manual/pt_BR/function.strtotime.php Após isso basta filtrar na própria consulta com o ORDER BY linha DESC ou ASC. Para imprimir a data novamente: date("d/m/Y", $data); Sendo $data os números no formato timesamp. Abraços, Wictor Pamplona.
  8. WictorP

    Progressive Web Apps

    Claro Gabriel! pwabuilder-sw-register.js if ('serviceWorker' in navigator) { navigator.serviceWorker .register('/pwabuilder-sw.js') .then(function() { console.log('Service worker resgistered!'); }); } pwabuilder-sw.js //This is the "Offline page" service worker //Install stage sets up the offline page in the cache and opens a new cache self.addEventListener('install', function(event) { var offlinePage = new Request('offline.html'); event.waitUntil( fetch(offlinePage).then(function(response) { return caches.open('pwabuilder-offline').then(function(cache) { console.log('[PWA Builder] Cached offline page during Install'+ response.url); return cache.put(offlinePage, response); }); })); }); //If any fetch fails, it will show the offline page. //Maybe this should be limited to HTML documents? self.addEventListener('fetch', function(event) { event.respondWith( fetch(event.request).catch(function(error) { console.error( '[PWA Builder] Network request Failed. Serving offline page ' + error ); return caches.open('pwabuilder-offline').then(function(cache) { return cache.match('offline.html'); }); } )); }); //This is a event that can be fired from your page to tell the SW to update the offline page self.addEventListener('refreshOffline', function(response) { return caches.open('pwabuilder-offline').then(function(cache) { console.log('[PWA Builder] Offline page updated from refreshOffline event: '+ response.url); return cache.put(offlinePage, response); }); }); Feito isso basta adicionar o seu manifest.json e o pwabuilder-sw-register.js na HEADER da sua página. Lembrando que este código apenas redireciona para uma página offline caso o usuário esteja sem internet, ou seja, ele armazena em CACHE apenas a página offline, assim não aparecerá o erro do navegador e sim a sua página de aviso. ---- Obrigado pela dica, Gabriel! Irei ler o artigo. Abraços, Wictor Pamplona.
  9. WictorP

    Progressive Web Apps

    Boa tarde, tudo bem? Espero que sim! Estou fazendo um projeto de pequeno porte, porém preciso que esta página funcione através de um PWA. Até ai tranquilo... Vi alguns artigos de como fazer, inclusive o https://imasters.com.br/front-end/progressive-web-apps-pwa-e-evolucao-da-web registrado aqui na iMasters. Fiz todos os passos (eu acho), não entendo muito... Mas segue abaixo os códigos que inseri: Código manifest.json { "short_name": "SJ", "name": "Sistema Jéssica", "icons": [ { "src": "arquivos/imagens/logo.png", "sizes": "126x126", "type": "image/png" } ], "scope": "/", "start_url": "/inicio", "orientation": "portrait", "display": "fullscreen", "theme_color": "#ffffff", "background_color": "#ffffff" } Inserido no .js global do site self.addEventListener('install', (event) => { let plugins = [ new WorkboxPlugin({ globDirectory: DIST_DIR, globPatterns: ['**/*.{php,js,css,json,png}'], // {21} swDest: path.join(DIST_DIR, 'sw.js') //{22} }) ]; const workboxSW = new WorkboxSW(); const networkFirst = workboxSW.strategies.networkFirst(); workboxSW.router.registerRoute('/arquivos', networkFirst); // {23} }); self.addEventListener('activate', (event) => { // SW está instalado e ativo // Podemos terminar o setup // Ou limpar cache antigo }); self.addEventListener('fetch', (event) => { // Escuta cada evento de fetch // E faz alguma coisa para cada request // feito da app para API server }); Inserido dentro do <head> global do site <link rel="manifest" href="manifest.json"> Verifico e não há registro de cache no navegador, então não está funcionando. Estou fazendo algo errado? Abraços, Wictor Pamplona.
  10. WictorP

    Ajuda com validações de campos.

    Estou bem rcamu. Obrigado! // Criar o array var qtd = new Array(); $("input[name='qtd']").each(function() { var valor = $(this).val(); qtd.push(valor); }); // Desfazer array $.each(qtd, function(key, value) { alert(key); //alert(value) } Também pode usar for para desfazer o array. Eu usei jQuery porque tenho mais afinidade, mas o código funciona com javascript puro também, basta adaptar. Abraços, Wictor Pamplona.
  11. WictorP

    Formata data digitada, no formato 11/11/2011

    Olá lordstar, tudo bem? Espero que sim! Apenas um lembrete de que esta área é reservada à dúvida direcionadas à PHP e não para dúvidas sobre javascript. var mydata = ' '; O erro está nessa linha. Toda vez que o usuário digita alguma coisa ele reseta a variável para nada, então o mydata = mydata + dataNasc não é funcional. if(typeof mydata == "undefined") { var mydata = ""; }else { mydata = mydata+dataNasc; } Abraços, Wictor Pamplona.
  12. WictorP

    Auxilio com SELECT

    Segue exemplo de como fazer: <table> <?php rotina(); ?> </table> $pacientes = $db->query("PUXA OS PACIENTES"); while($paciente = $pacientes->mysqli-query()) { $idPaciente = $paciente['id']; echo "<td><tr>{$paciente['nome']}</tr>"; $rotinas = $db->query("PUXA AS ROTINAS CONFORME o ID WHERE id='{$idPaciente}'"); while($rotina = $rotinas->fetch_array()) { $idTratamento = $rotina['tratamentoId']; $tratamento = $db->query("PUXA OS TRATAMENTOS CONFORME A ROTINA WHERE id='{$idTratamento'}")->fetch_array(); echo "<tr>{$tratamento['nome']}</tr>"; } echo"</td>"; } Deste modo a função irá chamar todos os pacientes e as rotinas em que o paciente se encontra, e assim encontrando o seu tratamento. O primeiro WHILE que chama os pacientes, irá exibir dentro do seu registro apenas o seu nome na primeira coluna. O segundo while irá exibir os tratamentos em quantas colunas tiver. Abraços, Wictor Pamplona.
  13. WictorP

    Validar usuário

    Olá Francklyn, tudo bem? Espero que sim! Só dando uma outra alternativa: Você pode definir cargos em seu banco de dados e vincular os usuários à eles, e filtrar as páginas conforme o registro da tabela de cargos. Abraços, Wictor Pamplona.
  14. WictorP

    Auxilio com SELECT

    Olá felipo, tudo bem? Espero que sim! Basta fazer as consultas separadas se necessário utilizar while em ambas para chamar todos as pessoas. $selectPessoas = "busca as pessoas no navegador"; while($pessoas = $selectPessoas) { echo "O(a) {$pessoas['nome']} faz os seguintes tratamentos:"; $selectTratamento = "busca os tratamentos desta pessoa utilizando WHERE no ID_PESSOA"; while($tratamento = $selectTratamento) { echo "{$tratamento['nome']} e"; } } Este foi só um exemplo, deve modificar para se adaptar ao desejado. Abraços, Wictor Pamplona.
  15. WictorP

    PROBLEMAS NA PAGINAÇÃO

    Olá Paulo, tudo bem? Espero que sim! Em questão ao redirecionamento, o problema creio que está em seu httaccess. Se puder postar o código, ficará mais fácil lhe ajudar. Para selecionar a página atual basta colocar uma IF. Conseguirá fazer de diversas formas, criando uma função para chamar as páginas e verificando dentro dela qual é a atual ou até mesmo fazendo dentro do seu for. for($i = 1; $i < $num_pagina + 1; $i++){ if($pagina == $i) { // Pagina atual }else { // Não é página atual } } Abraços, Wictor Pamplona.
  16. WictorP

    Ajuda com validações de campos.

    Olá rcamu, tudo bem? Espero que sim! Desde já, deixo informado que o tópico está no local incorreto, esta área é destinada a PHP, não JavaScript. Vamos ao assunto principal: Se os dados vem em um array, ou seja, existe mais de um input com um determinado nome (name="qdt[]"), você deve chamar todos, a sua função está chamando apenas o primeiro valor mesmo. Para que a sua função puxe todos os valores utilize a função .each() do jQuery. Documentação do .each(): https://api.jquery.com/each/ e http://api.jquery.com/jquery.each/ Caso queira utilizar javascript puro, será necessário colocar um for dentro da sua função contando o número de linhas que existe. Abraços, Wictor Pamplona.
  17. WictorP

    Problemas com Parcelas

    Olá maruan, tudo bem? Espero que sim! Pelo que entendi você quer pegar o último dia de cada mês, correto? Se for isso, basta fazer assim: $mes = "02"; $ano = "2019"; $ultimoDiaDoMes = date("t", strtotime("{$mes}/01/{$ano}")); // Lembrando que a função strtotime aceita formato de data no padrão inglês. // Caso queira no formato padrão, é bom utilizar mktime. // Material do mktime: https://secure.php.net/manual/pt_BR/function.mktime.php Abraços, Wictor Pamplona.
  18. WictorP

    Progressive Web Apps

    Opa Gabriel! Consegui resolver com muita pesquisa e sua ajuda, claro! Porém me deparei com um "pequeno grande" problema. Fiquei tão engajado para fazer o PWA funcionar que não me atentei à procurar suas funcionalidades e acabei percebendo que ele não é totalmente funcional no iOS ao qual eu precisava atingir. De qualquer forma agradeço sua ajuda e se tiver alguma outra solução para tornar o site um aplicativo nativo do iOS, eu agradeço. Abraços, Wictor Pamplona.
  19. WictorP

    Progressive Web Apps

    Consegui resolver! O problema estava na chamada da função dentro da página. Apenas mais uma ajuda, Gabriel. O ServiceWorker está redirecionando para a página offline.html mesmo estando com internet. Consegui me apontar algum erro no código? Obrigado! Abraços, Wictor Pamplona.
  20. WictorP

    Progressive Web Apps

    A aplicação está hospedada em um cPanel da hostigator.
  21. WictorP

    Progressive Web Apps

    Boa tarde. Todos os arquivos estão dentro da pasta principal (htdocs). Realmente o arquivo que chama o pwabuilder estava chamando o nome incorreto, o erro que aparecia no navegador desapareceu, porém ele ainda não cria o serviceworker. Obrigado! Abraços, Wictor Pamplona
  22. WictorP

    Progressive Web Apps

    Olá Gabriel, tudo bem? Desde já agradeço a ajuda. Estou sim utilizando uma função para chamar o SW: [/ //This is the "Offline page" service worker //Add this below content to your HTML page, or add the js file to your page at the very top to register service worker if (navigator.serviceWorker.controller) { console.log('[PWA Builder] active service worker found, no need to register') } else { //Register the ServiceWorker navigator.serviceWorker.register('pwabuider-sw.js', { }).then(function(reg) { console.log('Service worker has been registered for scope:'+ reg.scope); }); } Porém ele está retornando no navegador que o arquivo não está no mesmo diretório e o ServiceWorker fica como redundant, não é lido. Erro que o navegador apresenta: A bad HTTP response code (404) was received when fetching the script. Failed to load resource: net::ERR_INVALID_RESPONSE offline.html:1 Uncaught (in promise) TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetching the script.
  23. WictorP

    Despesas Fixas

    Como eu informei você pode fazer o CRON e gerar com o intervalo de um ano, basta modificar o ultimo lançamento para daqui um ano, exemplo: $ultimoLancamento = strtotime('01/31/2020'); Assim teria uma tabela de registro maior, e sempre ficaria com um ano de registro adiantado. Outra ideia seria criar um array em javascript e descompactar conforme o ID da tabela, inserindo o conteúdo. Não acho que seja o ideal, mas procure pela função append no jQuery, pode ajudar. Pode usar a mesma metodologia com uma função PHP, mandando um array para ser executado cada mês, e lançando as a despesa fixa a cada array. $meses = array("01","02","03"); function chamaDespesas($meses) { foreach($meses AS $key => $value) { // Consulta com o banco se há uma despesa fixa e a lança // Lança demais despesas } } E ai para lançar a procura basta chamar a função. Abraços, Wictor Pamplona.
  24. WictorP

    Imagem resize

    Olá Evaldo, tudo bem? Espero que sim! Sem o código não conseguimos identificar o erro. Pode ajudar: http://php.net/manual/pt_BR/function.imagesavealpha.php Abraços, Wictor Pamplona.
  25. WictorP

    Duvida em como proceder com múltiplos acessos ao mesmo local

    Olá Jeferson, tudo bem? Espero que sim! Crie uma tabela no banco de dados com o nome do documento e as séries em que os alunos presentes poderão visualizar o material. Feito isso, na tabela aonde se encontra o cadastro dos alunos, coloque também a série em que ele está. Após isso basta fazer a consulta e verificar se a informação bate fazendo uma simples consulta ao banco de dados com WHERE, por exemplo. Abraços, Wictor Pamplona.
×

Informação importante

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