Ir para conteúdo
Fórum Script Brasil

Todas Atividades

Atualizada automaticamente

  1. Recentemente
  2. oi bom dia. você tem o projeto pra postar. eu fiz a 1 versao do portaria ate então juntando codigos etc.. hoje estou querendo reativar o projeto.. se puder ajudar.. agradeço. esta dando esse pro ae na hora de saida que entrando como data. e tb ta entrando quando faço a entrada do visitante teria que entrar somente quando liberar a saida do mesmo e quando faço a saida não lança a hora de saida.
  3. Hoje
  4. opa beleza. o meu ta fazendo as entradas da data e hora de entrada mas não ta fazendo a hora de saida e o seu sim.. o que tenho q fazer. vou te mandar a minha pasta dele.. opa beleza. o meu ta fazendo as entradas da data e hora de entrada mas não ta fazendo a hora de saida e o seu sim.. o que tenho q fazer. vou te mandar a minha pasta dele..
  5. opa beleza. e ae tudo bem. você ainda ta mexendo nesse script da portaria. eu reativei ele aqui no meu pc.. ta funcionado mas so a parte de saida que não ta entrando a hora de saida mas os cadastro de cliente e entrada e os relatorio ta saindo so não vai pro banco de dados a hora de saida.
  6. Frank K Hosaka

    PHP Mailer

    <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; // Certifique-se de que o autoload está correto $mail = new PHPMailer(true); try { // Configurações do servidor SMTP do Gmail $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = '[email protected]'; // Seu e-mail Gmail $mail->Password = 'abcd abcd abcd abcd'; // senha de app $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; // Remetente e destinatário $mail->setFrom('[email protected]', 'Frank K Hosaka'); $mail->addAddress('[email protected]', 'Frank K Hosaka'); // Conteúdo do e-mail $mail->CharSet='UTF-8'; $mail->Encoding='base64'; $mail->Subject = 'Teste de envio via PHPMailer'; $mail->Body = 'Olá Frank, este é um teste de envio usando PHPMailer'; $mail->send(); echo 'Mensagem enviada com sucesso!'; } catch (Exception $e) { echo "Erro ao enviar: {$mail->ErrorInfo}"; } ?> Finalmente consegui testar o PHP Mailer, o único problema é definir a senha do app na conta do Gmail. Na verdade, é o Gmail que fornece a senha do app, e você precisa incorporar no código.
  7. A dica que eu recebi hoje do Copilot para colocar o Laravel no localhost do notebook é usar esse comando no terminal do VS Code: npx concurrently -c "#93c5fd,#c4b5fd,#fdba74" "php artisan serve" "php artisan queue:work --tries=1" "npm run dev" --names="server,queue,vite"
  8. Fala galera, Resolvi brincar com o consumo de uma API de IA em várias linguagens só pra comparar: JavaScript/Node.js → rápido, async/await deixou o código bem limpo. Python → simples com requests, ótimo pra processar JSON. Go → mais chato no início, mas depois ficou super eficiente. PHP → funciona, mas precisei tratar erros e parsing mais “na unha”. Conclusão: a lógica da requisição é quase igual em todas, o que muda é a ergonomia e a facilidade com JSON/erros. E vocês, já testaram em diferentes linguagens? Qual foi a mais tranquila ou a mais “sofrida”? Abraço, Um curioso que acha engraçado quando a IA responde com algo totalmente inesperado
  9. Yesterday
  10. Ao invés de trabalhar com duas caixas de combinação, a minha sugestão é trabalhar com apenas um: <?php Class Teste { public $ambiente,$item,$selecionado; function criarTabela() { $mysqli=new mysqli("localhost","root","","teste"); $mysqli->query("drop table if exists tbcomodo"); $mysqli->query("create table tbcomodo (id int auto_increment primary key, ambiente varchar(50) not null)"); $mysqli->query("insert into tbcomodo (ambiente) values ('cozinha'),('sala'),('quarto 1'),('quarto 2'), ('quarto 3'),('quarto 4'),('banheiro'),('churrascaria')"); $mysqli->query("drop table if exists tbservico"); $mysqli->query("create table tbservico (id int auto_increment primary key, id_comodo int,item varchar(45),data datetime)"); $mysqli->query("insert into tbservico (id_comodo,item,data) values (1,'tomada forno','2025-08-25 17:04'), (1,'tomada microonda','2025-08-25 17:04'), (1,'janela pequena','2025-08-25 17:04'), (1,'janela jardim','2025-08-28 17:04'), (2,'janela jardim', '2025-08-28 17:04'), (2,'janela estrada','2025-08-28 17:04'), (2,'tomada aspirador','2025-08-28 17:04'), (2,'tomada tv','2025-08-28 17:04'), (2,'tomada candieiro','2025-08-28 17:04'), (2,'luz principal','2025-08-28 17:04'), (2,'tomada tv','2025-08-28 17:04'), (3,'tomada cama','2025-08-28 17:04')"); } function selecionado($ambiente) { $this->selecionado=$ambiente; $mysqli=new mysqli("localhost","root","","teste"); $this->ambiente=array_column($mysqli->query("select ambiente from tbcomodo order by ambiente")->fetch_all(MYSQLI_ASSOC),'ambiente'); $id_comodo=$mysqli ->query("select id from tbcomodo where ambiente='$ambiente'") ->fetch_assoc()['id']; $this->item=$mysqli->query("select * from tbservico where id_comodo = $id_comodo group by item order by item")->fetch_all(MYSQLI_ASSOC); } } $teste=new Teste(); // $teste->criarTabela();exit; if(isset($_GET['rota'])) { $teste->selecionado($_GET['rota']); } else { $teste->selecionado("cozinha"); } ?> <script src="https://cdn.tailwindcss.com"></script> <body class="w-[500px] m-0 m-auto"> <h2>Selecione um cômodo</h2> <select onchange="location.replace('?rota='+this.value)"> <?php foreach($teste->ambiente as $a) : ?> <option <?=$a==$teste->selecionado ? 'selected' : ''?>> <?= $a ?> </option> <?php endforeach; ?> </select> <h2 class="mt-5">Serviços executados</h2> <?php foreach($teste->item as $i) : ?> <div class="flex even:bg-gray-200"> <div class="w-[200px]"><?=$i['item']?></div> <div class="w-[150px]"><?=date('d/m/y H:i',strtotime($i['data']))?></div> </div> <?php endforeach; ?> </body>
  11. alguém ainda ta no desenvolvimento do portaria system.. fiquei muitos anos parado. se alguém ainda tiver ele no git me passa beleza.. agradeço a colaboração de todos..
  12. criei uma imagem para explicar melhor o que eu pretendo
  13. eu fiz um projeto de portaria tem muitos anos atras não sei se ainda esta aqui no forum e ate o nome do local que trabalhava se chama polo. então dei o nome de portaria polo vou pesquisar pra ver se acho. encontrei.. olha ae.
  14. Olá pessoal, tudo bem? Estou estudando ASP Clássico e percebi que muitas vezes a documentação é limitada ou difícil de encontrar. Recentemente comecei a usar o ChatGPT como apoio para entender melhor alguns códigos e até gerar exemplos práticos em ASP. Gostaria de saber se mais alguém aqui já utilizou o ChatGPT para: - Entender erros comuns em ASP clássico - Gerar snippets de código para manipulação de banco de dados - Melhorar a segurança e validação em formulários Quais foram suas experiências? Vale a pena usar o ChatGPT como “assistente de estudo” junto com o fórum?
  15. Hello everyone, I am learning how to work with PHP and Ajax to process forms without reloading the page. I tried asking ChatGPT for suggestions and got some basic examples, but I still have difficulty applying them, especially with data validation and error handling. Can anyone with practical experience share more optimization methods or clearer examples? Thank you very much!
  16. Última semana
  17. Eu acredito que você não acrescentou a caixa de combinação no formulário UserForm1. Se você acrescentou, precisa mudar a propriedade (Name) de ComboBox1 para cbxPermissao.
  18. Olá, estou precisando de uma classe OSC para usar no VB6. Alguém saberia me indicar uma ou teria interesse em desenvolver essa classe?
  19. <?php // include "config.php"; // verifica se o usuário está logado Class Teste { public $ambiente,$item,$selecionado; function criarTabela() { $mysqli=new mysqli("localhost","root","","teste"); $mysqli->query("drop table if exists tbcomando"); $mysqli->query("create table tbcomando (id int auto_increment primary key, ambiente varchar(50) not null, item text not null)"); $mysqli->query("insert into tbcomando (ambiente,item) values ('cozinha','1 janela grande')"); $mysqli->query("insert into tbcomando (ambiente,item) values ('cozinha','2 janela pequena')"); $mysqli->query("insert into tbcomando (ambiente,item) values ('cozinha', '3 luzes')"); $mysqli->query("insert into tbcomando (ambiente,item) values('cozinha','4 tomadas')"); $mysqli->query("insert into tbcomando (ambiente,item) value ('sala','nada')"); $mysqli->query("insert into tbcomando (ambiente,item) values('quarto','nada')"); } function selecionado($ambiente) { $this->selecionado=$ambiente; $mysqli=new mysqli("localhost","root","","teste"); $this->ambiente=array_column($mysqli->query("select ambiente from tbcomando group by ambiente order by ambiente")->fetch_all(MYSQLI_ASSOC),'ambiente'); $this->item=array_column($mysqli->query("select item from tbcomando where ambiente = '$ambiente' group by item order by item")->fetch_all(MYSQLI_ASSOC),'item'); } } $teste=new Teste(); if(isset($_GET['rota'])) { $teste->selecionado($_GET['rota']); } else { $teste->selecionado("cozinha"); } ?> <select name="ambiente" onchange="location.replace('?rota='+this.value)"> <?php foreach($teste->ambiente as $ambiente) : ?> <option <?= $teste->selecionado == $ambiente ? 'selected' : '' ?>> <?=$ambiente?> </option> <?php endforeach; ?> </select> <select name="detalhe"> <?php foreach($teste->item as $item) : ?> <option><?=$item?></option> <?php endforeach; ?> </select>
  20. Você tem o problema das N-Rainhas e precisa resolver sem recursão, ou seja, transformar a sua função teste em um algoritmo iterativo. Hoje o seu código usa backtracking recursivo: chama teste(..., col+1, ...) e volta removendo a rainha. Para eliminar a recursão, você pode simular a pilha de chamadas manualmente, ou usar um laço que avance/retorne colunas conforme necessário. Aqui vai uma ideia de como reescrever de forma iterativa: melon playground #include <stdio.h> #define MAX 20 int sol = 0; int mapafreq[MAX][MAX]; int seguro(int tab[MAX][MAX], int N, int linha, int col) { int i, j; // verifica linha à esquerda for (i = 0; i < col; i++) if (tab[linha][i]) return 0; // diagonal superior esquerda for (i = linha, j = col; i >= 0 && j >= 0; i--, j--) if (tab[i][j]) return 0; // diagonal inferior esquerda for (i = linha, j = col; j >= 0 && i < N; i++, j--) if (tab[i][j]) return 0; return 1; } void imprimir(int tab[MAX][MAX], int N) { int i, j; printf("Solução %d:\n", sol+1); for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { printf("%c ", tab[i][j] ? 'Q' : '.'); } printf("\n"); } printf("\n");
  21. <?php include "config.php"; // Verifica o login if(!isset($_SESSION['uname'])){ header('Location: index.php'); } // Termina a sessao if(isset($_POST['but_logout'])){ session_destroy(); header('Location: index.php'); } ?> <select name="comando" id="idcomando"></p> <?php $sql_query = "select id_comando, comando from comando"; $result = mysqli_query($con,$sql_query); while ($row = mysqli_fetch_array($result)) { echo "<option value = ".$row['id_comando'] . ">" .$row['comando']. "</option>"; } ?> </select> Até aqui está tudo bem, faz a pesquisa na base de dados e aparece os resultados corretos. A questão é ao selecionar um valor desta listbox, ele tem que fazer uma pesquisa para atualizar a segunda list box. A 1º listbox só faz a pesquisa 1 vez o objetivo é consoante o valor da primeira listbox1 atualizar (pesquisar) os valore para a list2 ou seja carrega a listbox1 quando abre a pagina depois imaginemos que escolhe a opção "sala na listbox1" tem que fazer uma nova pesquisa (select id_divisao, divisao from divisao where comando = 'sala') e atualiza a segunda listbox2 com os dados recolhidos da base de dados (divisao)
  22. Conversando com o Copilot, ele descobriu que a mensagem de erro não vem do Microsoft Access, mas do aplicativo "Sociedade Harmonia Jaguarão". Eu nunca usei o modo SQL nas consultas, mas eu acredito que o seu ponto de partida deveria ser lá, e não dentro de um aplicativo de terceiros.
  23. Eu coloquei o vetor para explicar o problema do combo box. Para tirar o vetor do banco de dados a sequência é mais ou menos assim, você precisa estar familiarizado com o MySQL. Fase 1: CREATE TABLE comodos ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(50), item VARCHAR(100) ); Fase 2: INSERT INTO comodos (nome, item) VALUES ('cozinha', '1 janela grande'), ('cozinha', '2 janelas pequenas'), ('cozinha', '3 luzes'), ('cozinha', '4 tomadas'), ('sala', NULL), ('quarto', NULL); Fase 3: <?php $pdo = new PDO('mysql:host=localhost;dbname=seubanco', 'usuario', 'senha'); // Consulta agrupando os itens por cômodo $sql = "SELECT nome, item FROM comodos"; $stmt = $pdo->query($sql); $vetor = []; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $comodo = $row['nome']; $item = $row['item']; // Se o cômodo ainda não foi adicionado ao vetor if (!array_key_exists($comodo, $vetor)) { $vetor[$comodo] = []; } // Adiciona o item ou 'nada' se for nulo if ($item !== null) { $vetor[$comodo][] = $item; } } // Garante que cômodos sem itens apareçam com 'nada' foreach ($vetor as $comodo => $itens) { if (empty($itens)) { $vetor[$comodo][] = 'nada'; } } // Transforma em estrutura desejada $resultado = []; foreach ($vetor as $comodo => $itens) { $resultado[] = [$comodo => $itens]; } print_r($resultado); ?>
  24. Era mesmo isso. só que na parte public $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; as opções são introduzias manualmente e eu queria que fosse atraves de uma consulta $sql_query = "select id_comando, comando from comando"; Irá apareces o que eu tenho na base de dados (que sera cozinha, sala, quarto) Só depois ao selecionar por exemplo sala faz outro pesquisa $sql_query = "select id_divisao, divisao from from divisao where comando = a escolha "; Não sei se consegui explicar bem
  25. Você precisa tirar duas linhas do seu código: <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; // ---------------------> tira isso use PHPMailer\PHPMailer\Exception; require 'vendor/autoload.php'; // Certifique-se de que o autoload está correto $mail = new PHPMailer(true); try { // Configurações do servidor SMTP do Gmail $mail->SMTPDebug = SMTP::DEBUG_SERVER; // ---------------------> tira isso $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = '[email protected]'; // Seu e-mail Gmail $mail->Password = 'abcd abcd abcd abcd'; // senha de app $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; $mail->Port = 465; // Remetente e destinatário $mail->setFrom('[email protected]', 'Frank K Hosaka'); $mail->addAddress('[email protected]', 'Frank K Hosaka'); // Conteúdo do e-mail $mail->CharSet='UTF-8'; $mail->Encoding='base64'; $mail->Subject = 'Teste de envio via PHPMailer'; $mail->Body = 'Olá Frank, este é um teste de envio usando PHPMailer'; $mail->send(); echo 'Mensagem enviada com sucesso!'; } catch (Exception $e) { echo "Erro ao enviar: {$mail->ErrorInfo}"; } ?>
  26. Este artigo explora o conceito, os métodos, os benefícios e os desafios associados à detecção de manutenção em sensores, com base em informações recentes e confiáveis.
  27. Mais Cedo
  28. <?php Class Teste { public $ambiente=[], $detalhe=[], $selecionado; public $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; function inicio() { $this->ambiente=[]; foreach($this->vetor as $key => $subvetor) { foreach($subvetor as $ambiente => $detalhe) { $this->ambiente[]=$ambiente; } } $this->detalhe=$this->vetor[0]['cozinha']; } function selecionado($ambiente) { $this->inicio(); $this->selecionado=$ambiente; $this->detalhe=[]; foreach($this->vetor as $item){ if(array_key_exists($ambiente,$item)) { $this->detalhe=$item[$ambiente]; break; } } } } if(isset($_GET['rota'])) { $rota=$_GET['rota']; $teste=new Teste(); $teste->selecionado($rota); } else { $teste=new Teste(); $teste->inicio(); } ?> <select name="ambiente" onchange="location.replace('?rota='+this.value)"> <?php foreach($teste->ambiente as $ambiente) : ?> <option <?= $teste->selecionado == $ambiente ? 'selected' : '' ?>> <?=$ambiente?> </option> <?php endforeach; ?> </select> <select name="detalhe"> <?php foreach($teste->detalhe as $detalhe) : ?> <option><?=$detalhe?></option> <?php endforeach; ?> </select>
  29. Só faltou o trecho da request assíncrona (tb conhecido como AJAX) Pode-se resolver com fetch (nativo do js) ou usando a lib axios, entre outras maneiras
  30. <?php $vetor=[ ['cozinha'=>['1 janela grande','2 janelas pequenas','3 luzes','4 tomadas']], ['sala'=>['nada']], ['quarto'=>['nada']] ]; ?> <select id="ambienteSelect"> <option value="">Selecione um ambiente</option> </select> <select id="detalhesSelect"> <option value="">Selecione um detalhe</option> </select> <script> const dados = <?php echo json_encode($vetor); ?> </script> <script> const ambienteSelect = document.getElementById('ambienteSelect'); const detalhesSelect = document.getElementById('detalhesSelect'); // Preenche o primeiro select com os ambientes dados.forEach(item => { const ambiente = Object.keys(item)[0]; const option = document.createElement('option'); option.value = ambiente; option.textContent = ambiente.charAt(0).toUpperCase() + ambiente.slice(1); ambienteSelect.appendChild(option); }); // Atualiza o segundo select com base na escolha do primeiro ambienteSelect.addEventListener('change', () => { const ambienteEscolhido = ambienteSelect.value; detalhesSelect.innerHTML = '<option value="">Selecione um detalhe</option>'; const ambienteData = dados.find(item => item[ambienteEscolhido]); if (ambienteData) { ambienteData[ambienteEscolhido].forEach(detalhe => { const option = document.createElement('option'); option.value = detalhe; option.textContent = detalhe; detalhesSelect.appendChild(option); }); } }); </script>
  1. Mais Resultados


  • Estatísticas dos Fóruns

    • Tópicos
      152,5k
    • Posts
      652,4k
×
×
  • Criar Novo...