Ir para conteúdo
Fórum Script Brasil

wash

Membros
  • Total de itens

    398
  • Registro em

  • Última visita

Tudo que wash postou

  1. Entendi. É porque você faz a matemática no php Nem precisava. Pode ser resolvido somente com js. mas segue sugestão: arquivo .php <?php $trab = 0; $apost = 0; $prova = 0; $trilha1 = 0; $trilha2 = 0; $med = 0; $showModal = false; if (isset($_POST['acao'])) { $trab = $_POST['trab'] * 8; $apost = $_POST['apost'] * 2; $prova = $_POST['prova'] * 6; $trilha1 = $_POST['trilha1'] * 1; $trilha2 = $_POST['trilha2'] * 1; $peso1 = (($trilha1 + $trilha2) / 2) * 1; $peso3 = (($trab + $apost) / 10) * 3; $peso6 = $prova; $med = ($peso1 + $peso3 + $peso6) / 10; $rec = (($med * 0.6) - 6) / (0.4 * (-1)); $showModal = true; } ?> <!DOCTYPE html> <html lang="pt=br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Fundamental I e II - Cálculo de notas</title> <link rel="stylesheet" type="text/css" href="assets/css/fundamentaal.css"> </head> <body> <section id="fund_I_II"> <div class="container"> <div class="box_form"> <div class="title texto"> <h1>Média Ensino Fundamental I e II</h1> </div> <div class="form_inputs"> <form method="POST" action=""> <label>Nota de trabalho</label> <input type="number" name="trab" required autofocus min="0" max="10" step=".01"></input> <label>Nota de apostila</label> <input type="number" name="apost" required min="0" max="10" step=".01"></input> <label>Nota de prova</label> <input type="number" name="prova" required min="0" max="10" step=".01"></input> <label>Nota de trilha 1</label> <input type="number" name="trilha1" required min="0" max="10 step=" .01"></input> <label>Nota de trilha 2</label> <input type="number" name="trilha2" required min="0" max="10" step=".01"></input> <input class="enviar " type="submit" name="acao" /> </form> </div> </div> <div id="modal-notas-aprovacao" class="modal-container<?= $showModal ? ' mostrar' : '' ?>"> <div class="modal"> <button class="fechar">x</button> <div class="aprovacao"> <?php if (isset($_POST['acao']) && $med >= 6) { echo 'Sua média do bimestre é: ' . number_format($med, 2) . '<br>' . 'Você foi aprovado'; } ?> </div> <div class="reprovacao"> <?php if (isset($_POST['acao']) && $med < 6) { echo 'Sua média do bimestre é: ' . number_format($med, 2) . '<br>' . 'Você está de RECUPERAÇÃO!' . ' É necessário tirar ' . number_format($rec, 2) . ' na prova de recuperação.'; } ?> </div> </div> </div> </div> </section> <script> const modalID = 'modal-notas-aprovacao' const modal = document.getElementById(modalID); modal.addEventListener('click', (e) => { if (e.target.id == modalID || e.target.className == 'fechar') { modal.classList.remove('mostrar'); } }); </script> </body> </html> Arquivo .css *{ box-sizing: border-box; } body { margin: 0; padding: 0; font-family: Arial; background-color: #0344f7; overflow: hidden; } h1 { margin: 0; padding: 0; } .container { height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; } .box_form { width: 420px; background-color: #0095cf; border: 1px solid white ; border-radius: 15px; } .title { display: flex; align-items: flex-end; justify-content: center; color: #FFF; height: 80px; } .form_inputs form { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 330px; } .form_inputs label { text-align: center; color: white; } .form_inputs input { text-align: center; width: 200px; margin-top: 5px; padding: 5px; border:none; border-radius: 5px; } .form_inputs .enviar { width: 100px; margin-top: 8px; border-radius: 7px; padding: 10px; color: white; font-weight: bold; font-size: 16px; border:0; background-color: green; } .aprovacao, .reprovacao { color: #000; text-align: center; } .aprovacao { padding: 10px; } .modal-container{ width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, .5); position: fixed; top: 0 ; left: 0; z-index: 2000; display: none; justify-content: center; align-items: center; } .modal { background-color: white; max-width: 60%; min-width: 300px; padding: 40px; box-shadow: 5px 5px 6px 4px #000; border-radius: 10px; position: relative; } @keyframes modal { from { opacity: 0; transform: translate3d(0,-60px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } .mostrar .modal { animation: modal .3s; } .modal-container.mostrar { display: flex; } .fechar { position: absolute; top: 5px; left: 5px; width: 30px; height: 30px; border-radius: 50%; border: 0; background-color: white; font-size: 25px; cursor: pointer; }
  2. Olá! Mostre-nos o trecho que marca os checkboxes que deveriam estar marcados e em que momento ele é executado.
  3. Olá! É bem difícil adivinhar o que aconteceu sem poder reproduzir o script. Certa vez escrevi um que funcionou muito bem. Tente adaptá-lo e veja se funciona pra você tb: <?php // carrega o arquivo.csv ignorando quebras de linha no final da linha e linhas vazias $file = file('seu-arquivo.csv', FILE_TEXT | FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // o caracter delimitador $delimitier = ';'; // caso a primeira linha seja o cabeçalho (essa linha será removida da variável $file) $header = array_shift($file); // verifica se o delimitador existe if (!strpos($header, $delimitier)) { die('O delimitador: ( <b>' . $delimitier . '</b> ), não foi encontrado!'); } // separa cada elemento do cabeçalho $header = explode($delimitier, $header); // inicia a variável para guardar os erros(se houver algum) $errors = []; // para cada linha em $file foreach ($file as $i => $line) { $arrayLine = explode($delimitier, $line); // verifica se a quantidade de colunas é igual às do header if (sizeof($arrayLine) != sizeof($header)) { $errors[] = 'A linha: <b>' . ($i + 2) . 'não tem o mesmo número de colunas!'; continue; } // tratar os dados foreach ($arrayLine as $index => $value) { // se o valor estiver entre aspas simples, serão removidas $value = trim($value, "'"); // se for numérico if (preg_match('/^[0-9.,]+$/', $value)) { // não precisa tratar o valor $arrayLine[$index] = $value; } else { // se não for numérico, o valor será tratato com utf-8, terá caracteres escapados e será colocado entre aspas simples $arrayLine[$index] = "'" . addslashes(utf8_encode($value)) . "'"; } } // coloca cada linha entre parenthesis $file[$i] = '(' . implode(', ', $arrayLine) . ')'; } // se houver erros if (sizeof($errors)) { foreach ($errors as $error) { // mostra cada erro encontrado na tela echo '<p>' . $error . '</p>'; } } // considera o cabeçalho como sendo iguais aos nomes das colunas do database $keys = $header; // quebra as linhas em grupos de 100 linhas $inserts = array_chunk($file, 100, true); // para cada grupo de 100 linhas foreach ($inserts as $v) { // adiciona a query de inserção no array $dump $dump[] = "insert into $table(`" . implode('`, `', $keys) . "`) values\n " . implode(",\n ", $v) . "\n"; } // para cada grupo de 100 inserções por insert em $dump foreach ($dump as $query) { // mostra na tela como ficou cada query de 100 inserções por insert echo '<pre>$query: '; print_r($query); echo '</pre>'; // execute a sua query de inserção no banco de dados aqui } Ao invés de inserir cada linha uma a uma, inserir em grupos de 100 diminui em muito a quantidade de requisições ao database, aumentando em muito o desempenho.
  4. Olá! Os checkboxes precisam ter o atributo name vai ser o nome da variável enviada com o valor do checkbox <input class="form-check-input" type="checkbox" id="inlineCheckbox2" value="opcao2" name="variavel1"> No exemplo acima, variavel1 = opcao2, claro, se o checkbox estiver marcado Se não estiver marcado, esta variável não será enviada.
  5. Olá! Os valores inicio e fim, são gerados assim q a página é carregada. Mova a declaração desses valores pra dentro da função contar, assim: ... function contar() { var inicio = Number(document.getElementById("inicio").value); var fim = Number(document.getElementById("fim").value); ...
  6. Olá! O intelephense está correto. Toda função em uma interface é implicitamente abstrata. Não há necessidade de usar a keyword abstract quando declarar métodos em interfaces. Veja em: https://www.w3schools.com/php/php_oop_interfaces.asp
  7. Olá! A mensagem está dizendo que o sr. tem métodos com o mesmo nome da classe. Isso só funcionava em php 5- peça ao seu serviço de hospedagem para usar uma versão de php antigo, talvez 4 ou 5.0.1 mas o ideal e mais seguro, seria o sr. atualizar seu sistema, usando apenas as novidades do php 8. Q já está no 8.1. O php é uma liguagem muito viva, a comunidade mantenedora está sempre trabalhando parar torná-lo melhor e mais seguro. Acompanhe os chage logs pra saber o que ficou obsoleto e acompanhe sempre atualizando seus scripts: https://www.php.net/ChangeLog-8.php#8.1.0
  8. wash

    Olá

    Olá! No início do arquivo, ative a exibição de erros com: <?php error_reporting(E_ALL); Troque esse trecho: por este: $qlog = mysqli_query($bd, "SELECT * FROM 'usuarios' WHERE login_user = '$nome_user' and senha = '$password' ") or die(mysqli_error()); e veja se aparece alguma mensagem de erro. Essas aspas simples no nome da tabela são desnecessárias.
  9. Olá! Acredito que não há uma forma automágica de se descobrir isso. O sr. pode observar o script e ver se foram utilizados elementos específicos de php7+ como o operador null coalescing, tipagem de retorno das classes ou variáveis... Se o tipo de conexão com o database usa extensões obsoletas como mysql_*, vai ser php5- Ou pode ir testando até encontrar uma falha. Execute em php7(e suas minor versions), se não der nenhum erro, funciona. Execute em php8(e suas minor versions), em php5(e suas minor versions)
  10. Certifique-se de que não haja espaços em branco antes e depois da palavra, no arquivo lido
  11. Olá! Pode acontecer de, no final da linha ser carregado tb o metacaracter da quebra de linha. para evitar isso use as seguintes flags com a função file: file($filePath, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); onde $filePath é o caminho para o arquivo que o sr. pretente q seja lido.
  12. wash

    Erro com imagecreatefromjpeg

    Olá! Ao invés de ['name'] use ['tmp_name']
  13. Olá! O sr. não postou a mensagem de erro que apareceu, mas presumo que seja porque ao abrir o script nada ainda foi postado. Então coloque o trecho de script selecionado dentro de: if(isset($_POST['nome'])){ // aqui } Assim o trecho php só será executado, depois que pelo menos 'nome' for postado
  14. Olá! Aqui tem um bom exemplo de como fazer isso, veja: php.net/mysqli_fetch_all Pra ficar bem fácil vou colar um trecho aqui: // guarda o resultado da execução da query em $result $result = $mysqli->query('select * from table'); // guarda cada linha de $result em $rows $rows = $result->fetch_all(MYSQLI_ASSOC); // inicie a tabela $displayTable = '<table><thead><tr><th>Title</th></tr></thead>'; // para cada linha em rows foreach ($rows as $row) { // monte as linhas da tabela aqui $displayTable.= '<tr><td>' .implode('<br>', $row) .'</td></tr>'; } // mostre a tabela onde precisar: echo $displayTable.'</table>'
  15. Olá! Qual a versão de PHP que o sr. está usando? Desde 2012(ou antes) o php recomenda fortemente a não usar mais as extensões mysql_* veja no screenshot. Se o sr. não estiver usando o php4, recomendo atualizar seu script. Pra ter certeza de que pode ser essa a questão. Ative a exibição de erros no seu php.ini ou em php mesmo com: error_reporting(E_ALL); sendo a primeira linha de script do seu arquivo .php
  16. Olá! Segue sugestão: SELECT sum( statuselev ) AS total FROM (select statuslev from elevatoria1 WHERE linha LIKE '%999981697%' ORDER BY registro DESC LIMIT 2 )
  17. Ôppa! Agora eu entendi! O que o sr. quer é transformar em echo "<a href='link-qualquer' data-atributo-qualquer='valor-qualquer'>$row[nome]</a><br>";
  18. Olá! Acredito que com $('body').on('mouseover', '.seus-links', function(){... o sr. vai conseguir
  19. Olá! É bem estranho! Os dados são enviados. Eles chegam no arquivo .php Mas por alguma razão misteriosa, não são exibidos. Vai ser preciso um minucioso trabalho investigativo pra descobrir. Antes dos dados serem exibidos, eles recebem algum tratamento? Pode ser na validação/tratamento dos dados.
  20. Olá! Sugestão: $semNumeros = preg_replace('/\d+/', '', $tabela);
  21. Olá! Segue sugestão: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="javascript/main.js"></script> <link rel="stylesheet" href="styles.css"> <title>Cadastro de Usuário</title></head> <body> <header><img width="70px" src="imagens/Brasão 4ª RM.png" alt="Brasão 4ª RM"> <h1>Seção do Serviço de Inativos e Pensionistas</h1></header> <section> <form method="POST" action="cadastro.php"> <fieldset class="grupo"> <!-- Campo do sobrenome com legenda "Nome" e css de classe "campo" --> <div class="campo"> <label for="nome"><strong>Nome</strong></label> <input type="text" name="nome" id="nome" required placeholder="Sd FULANO" title="Digite o Posto/Grad e Nome de Guerra"> </div> <!-- Campo do e-mail com legenda "Digite seu e-mail" e css de classe "campo" --> <div class="campo"> <label for="email"><strong>Digite seu e-mail</strong></label> <input type="text" name="email" id="email" required placeholder="digiteseuemail@certo.com" title="Digite o seu e-mail"> </div> <!-- Campo da senha com legenda "Acesso" e css de classe "campo" --> <div class="campo"> <label for="acesso"><strong>Qual seu Acesso</strong></label> <select id="acesso" name="acesso" required> <option selected disabled value="">Selecione</option> <option>SAP</option> <option>e-Pessoal</option> <option>Arquivo</option> <option>Administrador</option> </select></div> <!-- Campo da senha com legenda "Digite sua senha" e css de classe "campo" --> <div class="campo"> <label for="senha"><strong>Digite sua senha</strong></label> <input type="password" name="senha" id="senha" required placeholder="Senha" title="Digite a sua senha"> </div> <!-- Botão para enviar o formulário --> <button class="botao" type="submit" onsubmit="">CADASTRAR</button> </fieldset> </form> </section> <div> <p> <button><a href="index.html">Voltar</a></button> </p> </div> <footer></footer> </body> </html> <?php require 'connection.php'; $nome = $_POST['nome']; $email = $_POST['email']; $acesso = $_POST['acesso']; $senha = md5($_POST['senha']); // define a query de cadastro $sql_cadastro = "INSERT INTO usuarios (nome, email, acesso, senha) VALUES ('$nome', '$email', '$acesso', '$senha')"; // executa a query de cadastro $sqli->query($sql_cadastro); // verifica se houve algum erro if ($sqli->error) { echo '<script>window.alert("Falha no cadastro do usuário! '.$sqli->error.'");' . 'window.location.href="./"' . '</script>'; } echo '<script> window.alert("Cadastro realizado com Sucesso!"); window.location.href = "index.html"; </script>'; connection: <?php /* variáveis para conexão com o banco de dados*/ $host = 'localhost'; $user = 'root'; $senha = ''; $database = 'arquivo_processos'; /* estabelecendo conexão com o sql */ $sqli = new mysqli($host, $user, $senha); /* se houver erro na conexão, exibir mensagem de erro */ if ($sqli->connect_error) { die('Connect Error: ' . $sqli->connect_error); } /* selecionando o banco de dados com o qual desejo trabalhar */ if($sqli->select_db($database)){ /* se o banco de dados não existir, exibir mensagem de erro */ }else{ die("<h1>Banco de dados não encontrado: <b style='color:darkred'>$database</b></h1><small>Certifique-se de ter executado a query de criação do banco de dados</small>"); } .sql drop schema if exists arquivo_processos; create schema arquivo_processos; use arquivo_processos; create table usuarios ( id int primary key auto_increment, nome varchar(60), email varchar(60), acesso varchar(60), senha char(32), created_at timestamp default current_timestamp )
  22. Bom dia! Pra evitar o tráfego muito intenso de dados e o recarregamento desnecessário de muitos arquivos, eles são armazenados em cache no próprio browser. Atualize o browser pressionando ctrl+F5 que vai forçar o recarregamento dos arquivos cacheados.
  23. Olá! O html não estiliza o menu. O estilo está no .css Procure no css e vai descobrir o que proporciona essa altura
  24. Sugestão: Crie um arquivo para sua própria customização. Ex.: myCustomStyle.css Dentro dele estilize os elementos como quiser Ex.: .diferente{ min-width:320px; } E use esse seu css customizado.
×
×
  • Criar Novo...