Ir para conteúdo
Fórum Script Brasil

mm_edilson

Membros
  • Total de itens

    20
  • Registro em

  • Última visita

Tudo que mm_edilson postou

  1. Fiz exatamente do jeito que você sugeriu, mas também não funcionou. Acho que o problema é com o wampserver.
  2. Amigos, meu login funciona, lê o banco de dados, confere, gera a session, mas quando direciona para a página "painel" que é a página do usuário logado, o session não vem junto. A página não lê. Já fiz de tudo, tudo enquanto é teste, e nada. Estou usando o wampserver e fazendo tudo no computador local. O php da página login: <?php session_start(); require_once 'connect.php'; $message = ''; if ($_SERVER['REQUEST_METHOD'] == 'POST') { $email = $_POST['email']; $password = $_POST['senha']; // Verificar se o e-mail já está cadastrado $query = "SELECT * FROM usuarios WHERE email = ?"; $stmt = $pdo->prepare($query); $stmt->execute([$email]); $user = $stmt->fetch(); if ($user && password_verify($password, $user['senha'])) { // Login bem sucedido $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; $_SESSION['access_level'] = $user['acesso_nivel']; header('Location: painel.php'); exit(); } else { $message = 'Erro! E-mail ou senha inválidos.'; } } ?> E o php da página painel (está com trecho comentado devido aos testes) <?php session_start(); require_once 'connect.php'; echo $_SESSION['user_id'], $_SESSION['user_name'], $_SESSION['access_level']; /*if(isset($_SESSION['user_name'], $_SESSION['access_level']) && !empty($_SESSION['user_name']) && !empty($_SESSION['access_level'])){ $nomeUsuario = $_SESSION['user_name']; $nivelAcesso = $_SESSION['access_level']; } else { // redirecionar para página de login header('Location: login.php'); exit(); }*/ ?> Alguém pode dar uma força?
  3. Tenho um formulário html com vários selects. Dois deles são usados para mostrar/ocultar duas divs respectivamente, quando a opção 8 é clicada, e esconder, quando clicar em qualquer outra opção. Tenho uma instrução javascript que mantém a opção selecionada mesmo após clicar no botão submit. Até aqui Funciona. Mas quero que, ao clicar no botão "submit" a div permaneça exibida, uma vez que a opção 8 do select permanece selecionada. Mas só funciona no primeiro caso, o segundo apaga a div ao clicar no submit. Segue o código: ... <td> <label>Faixa Etária:</label><br> <select name="fxet" id="fxet" class="fxet" onchange="mostraDiv()"> <option value="0"<?php if(isset($_POST['fxet']) && $_POST['fxet'] == '0') echo 'selected'; ?>>Todas as idades</option> <option value="1" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '1') echo 'selected'; ?>>Crianças - 0 a 8 anos</option> <option value="2" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '2') echo 'selected'; ?>>Juniores - 9 a 11 anos</option> <option value="3" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '3') echo 'selected'; ?>>Adolescentes - 12 a 17 anos</option> <option value="4" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '4') echo 'selected'; ?>>Jovens - 18 a 34 anos</option> <option value="5" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '5') echo 'selected'; ?>>Adultos - 35 a 59 anos</option> <option value="6" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '6') echo 'selected'; ?>>Idosos - 60 a 74 anos</option> <option value="7" <?php if(isset($_POST['fxet']) && $_POST['fxet'] == '7') echo 'selected'; ?>>Idosos maiores - 75 anos acima</option> <option value="8"<?php if(isset($_POST['fxet']) && $_POST['fxet'] == '8') echo 'selected'; ?>>Personalizado</option> </select>&nbsp&nbsp </td> <td> <div id="personm" style="<?php if(isset($_POST['fxet']) && $_POST['fxet'] == '8') echo 'display:block;'; else echo 'display:none;'; ?>"> <label>De:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspA:</label><br> <input type="number" name="ini_m" id="idadeini" min="0" max="120">&nbsp<input type="number" name="fin_m"id="idadefin" min="0" max="120"> </div> </td> <td> <div class="div_botao_pesquisa"><br><input type="submit" name="but_pesquisa_membros" id="but_pesquisa_membros" class="but_pesquisa_membros" value="Pesquisar_m"></div> </td> </tr> </table> <td> ... ... ... <label>Faixa Etária:</label><br> <select name="fxet2" id="fxet2" class="fxet2" onchange="mostraDiv2()"> <option value="0"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '0') echo 'selected'; ?>>Todas as idades</option> <option value="1"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '1') echo 'selected'; ?>>Crianças - 0 a 8 anos</option> <option value="2"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '2') echo 'selected'; ?>>Juniores - 9 a 11 anos</option> <option value="3"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '3') echo 'selected'; ?>>Adolescentes - 12 a 17 anos</option> <option value="4"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '4') echo 'selected'; ?>>Jovens - 18 a 34 anos</option> <option value="5"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '5') echo 'selected'; ?>>Adultos - 35 a 59 anos</option> <option value="6"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '6') echo 'selected'; ?>>Idosos - 60 a 74 anos</option> <option value="7"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '7') echo 'selected'; ?>>Idosos maiores - 75 anos acima</option> <option value="8"<?php if(isset($_POST['fxet2']) && $_POST['fxet2'] == '8') echo 'selected'; ?>>Personalizado</option> </select>&nbsp&nbsp </td> <td><div id="personm2" style="display:none"> <label>De:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspA:</label><br> <input type="number" name="ini_nm" id="idadeini" min="0" max="120">&nbsp<input type="number" name="fin_nm" id="idadefin" min="0" max="120"> </div></td> <td> <div class="div_botao_pesquisa"><br><input type="submit" name="but_pesquisa_nao_membros" id="but_pesquisa_nao_membros" class="but_pesquisa_nao_membros" value="Pesquisar_NM"></div> </td> </tr> </table> Eis o javascript document.getElementById("personm").style.display = "none"; document.getElementById("personm2").style.display = "none"; function mostraDiv() { if (document.getElementById("fxet").value == "8") { document.getElementById("personm").style.display = "block"; } else { document.getElementById("personm").style.display = "none"; } } document.getElementById("but_pesquisa_membros").addEventListener("click", function() { if (document.getElementById("fxet").value == "8") { document.getElementById("personm").style.display = "block"; } }); function mostraDiv2() { if (document.getElementById("fxet2").value == "8") { document.getElementById("personm2").style.display = "block"; } else { document.getElementById("personm2").style.display = "none"; } } document.getElementById("but_pesquisa_nao_membros").addEventListener("click", function() { if (document.getElementById("fxet2").value == "8") { document.getElementById("personm2").style.display = "block"; } }); A função mostraDiv() funciona, mas a mostradiv2() não. Quando clico no botão submit, no segundo caso, a div personm2 deveria permanecer visível, mas ela some. Alguém pode dar uma força? Sei que o código tá meio gambiarrado, mas é que estou aprendendo... 🙂
  4. Amigos, tenho duas divs que precisam iniciar escondidas na página e depois exibir, a primeira ou a segunda, conforme eu clicar em um select. Ou seja, quando carrego a página, ambas as divs estão display: none. Quando clico na primeira opção em um select, a div1 é exibida. Quando clico na segunda opção no select, a primeira div1 esconde e exibe a div2. Mas não funciona. A página carrega com as divs ocultas, mas não exibe nenhuma delas quando clico em algum item no select. Fiz assim: <table> <tr> <td> <div id="tipo"><p>Tipo de pesquisa:</p> <select name="tipo"> <option value="-1" selected>Todos os registros</option> <option value="op1">Opção 1</option> <option value="op2">Apenas não membros</option> </select> </div> </td> <td> <div id="op1" class="hidden"><p>Opção 1:</p> <select name="opcao1"> <option value="sit_a" selected>Situação A</option> <option value="sit_b">Situação B</option> <option value="sit_c">Situação C</option> </select> </div> <td> <div id="op2" class="hidden"><p>Opção 2:</p> <select name="opcao2"> <option value="sit_d" selected>Situação D</option> <option value="sit_e">Situação E</option> </select> </div> </td> </tr> </table> No CSS coloquei: .hidden{ display:none; } .show{ display:block; } E no JavaScript, fiz assim: <script type="text/javascript"> var dropdown = document.getElementById("tipo"); optionPrev = "null" function onCatChange() { if ( dropdown.options[dropdown.selectedIndex].value != -1 ) { var option = dropdown.options[dropdown.selectedIndex].value; if( optionPrev != "null") { var optionHide = document.getElementById(optionPrev); optionHide.classList.toggle("show"); } var optionShow = document.getElementById(option); optionShow.classList.toggle("raiseSunshine"); optionPrev = option; } } dropdown.onchange = onCatChange; </script>
  5. O negócio é que o forum corta o código. Ultrapassa o limite de caracteres... Mas coloquei o código completo no drive, neste link: https://drive.google.com/file/d/19xGbKS8Z4CEKqiHMoWVdRY-B0dl00RUE/view?usp=share_link
  6. Amigos, quebrando a cabeça pra encontrar o erro. Tenho uma pasta "photos" para onde deve subir a imagem da logo. O arquivo php que faz o update precisa pegar a imagem de um input image, mudar o nome, criar o caminho para ela, gravar no BD, e subir a imagem para a pasta. Ele faz tudo, menos subir a imagem. Alguém poderia dar uma força? ... <input type="hidden" class="logo" name="logo" value="<?php echo $row_igreja['Logo']; ?>"> <?php $logo_igreja = $row_igreja['Logo']; $logo = $logo_igreja; ?> <input id="selecao-arquivo" type="file" name="flImage" accept="image/*"> <div class="logo" id="foto_logo" name="foto_logo"><img id="imgPhoto" src="<?php echo $logo ?>"</img> <script type="text/javascript"> foto_logo = document.getElementById('selecao-arquivo'); foto_logo.addEventListener('change', function(e) { showThumbnail(this.files);}) function showThumbnail(files) { if (files && files[0]) { reader = new FileReader(); reader.onload = function (e) { imgPhoto.src = e.target.result;} reader.readAsDataURL(files[0]);}} </script> </div> <label class="selecao-arquivo" for='selecao-arquivo'>Selecionar Imagem &#187;</label> <input class="btn_edit" type="submit" name="salvar" value="SALVAR" onclick="<?php echo $confirma_edicao?>"> <?php if(!empty($_POST)){ if (!empty($_FILES['flImage']['name'])){ $arquivo_tmp = $_FILES[ 'flImage' ][ 'tmp_name' ]; $nome_imagem = $_FILES[ 'flImage' ][ 'name' ]; $extensao = pathinfo ( $nome_imagem, PATHINFO_EXTENSION ); $extensao = strtolower ( $extensao ); strstr ( '.jpg;.jpeg;.gif;.png', $extensao ); $novoNome = "logo_igreja" . '.' . $extensao; $destino = 'photos/' . $novoNome; @move_uploaded_file( $arquivo_tmp, $destino ); $logo_atual = "http://www.sgi.dev.br/paginas/" . $destino; }else{ $logo_atual = $_POST['logo']; } $id = $_POST['id']; $nome = $_POST['nome']; $tipo = $_POST['tipo']; $end = $_POST['rua']; $nm = $_POST['numero']; $comp =$_POST['complem']; $bairro = $_POST['bairro']; $cid = $_POST['cidade']; $uf = $_POST['uf']; $cep = $_POST['cep']; $tel = $_POST['tel']; $tel2 = $_POST['tel2']; $email = $_POST['email']; $site = $_POST['site']; $razsoc = $_POST['razsoc']; $cnpj = $_POST['cnpj']; $obs = $_POST['obs']; $logo = $logo_atual; $dtorg = $_POST["dtorg"]; date_default_timezone_set('America/Sao_Paulo'); $ultimaatualiz = date('Y-m-d'); $sql = "UPDATE CadIgreja SET Nome=?,tipo=?,EnderecoRua=?,Num=?,Compl=?,Bairro=?,Cidade=?,UF=?,CEP=?,Tel=?,Tel2=?,Email=?,Site=?,RazSoc=?,CNPJ=?,Obs=?,Logo=?,DtOrg=?,UltimaAtualiz=? WHERE IdIgreja=?"; if($conn->prepare($sql)->execute([$nome,$tipo,$end,$nm,$comp,$bairro,$cid,$uf,$cep,$tel,$tel2,$email,$site,$razsoc,$cnpj,$obs,$logo,$dtorg,$ultimaatualiz,$id])){ echo '<script> alert ("Registro atualizado com sucesso!"); </script>'; } else { echo '<script> alert ("Erro! Não foi possível atualizar o registro."); location.href=("painel.php?igreja_editar")</script>'; } } else {} ?>
  7. Sim, é um parâmetro para um include dessa página na página principal. Vou tentar e posto o resultado aqui...obrigado
  8. Amigos, estou precisando exibir um alert em uma situação, e não exibir em outra. Tenho um botão, cujo link depende de uma variável: <div id="botao"><center><button class="field2"><a href="?<?php echo $link?>">Prosseguir</button></center></a></div> A variável $link vai ser "?pagina1" ou "?pagina2", de acordo com condições que escrevi anteriormente. Tá certinho, a variável funciona, o botão clica direitinho, chama a página correspondente, tudo certo. Mas eu queria que, caso o $link fosse igual a "?pagina1", antes de ir para ela, ele me mostrasse um alert: window.alert("Você será redirecionado para a página 1"); e depois fosse para a página1. Mas em caso do $link ser igual a "?pagina2", não exibir alerta, só ir para a página 2 direto. Como faço isso? Obrigado.
  9. Colegas, boa tarde. Estou criando um sisteminha de login, e estou na parte de recuperação de senha. Escrevi o código para o usuário digitar o e-mail cadastrado e solicitar a redefinição. Então, ele recebe um link único no e-mail dele e, por meio desse link, abre a página de criar nova senha. Tudo funciona. O cadastro, o login, e a alteração de senha. Exceto por um problema. Quando faço uma recuperação de senha, e retorno para a página de login, ele dá a nova senha como inválida. Aí, se eu fechar o navegador e abrir de novo, e digitar a nova senha, ele entra normalmente. E não funciona ctrl+F5. Tem que fechar e abrir. Não faço ideia do que pode estar causando isso. Vou postar meu código: Página de Login: <?php include_once 'connect.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Login</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> </head> <body> <section class="content"> <div class="contato"> <h2>Login</h2> Por favor, entre com o e-mail e a senha cadastrados.<br><br> <form name="cad_usu" class="form" method=post> <input class="field" type="email" name="email" placeholder="E-mail" required> <input class="field" type="password" name="senha" placeholder="Senha" required> <input class="field2" type="submit" name="SendLogin" value="Entrar no Sistema"> <input class="field2" type="reset" value="Limpar Formulário"> <center><a href="recuperar_senha.php"><font size="2">Esqueci a senha</font></a></center> </form> </div> </section> <?php if(!isset($_POST['SendLogin'])){exit;} $dados = filter_input_array(INPUT_POST,FILTER_DEFAULT); $query_usuario = "SELECT * FROM usuario WHERE email =:email LIMIT 1"; $result_usuario = $conn->prepare($query_usuario); $result_usuario->bindParam(':email', $dados['email']); $result_usuario->execute(); $row_usuario = $result_usuario->fetch(PDO::FETCH_ASSOC); if($row_usuario && (password_verify($dados['senha'], $row_usuario['senha']))) { $_SESSION['id'] = $row_usuario['id']; $_SESSION['nome'] = $row_usuario['nome']; $_SESSION['situacoe_id'] = $row_usuario['situacoe_id']; $_SESSION['niveis_acesso_id'] = $row_usuario['niveis_acesso_id']; header("Location: painel.php");} else { echo "<div class=content><p style='color: red'> Erro: Usuário e/ou senha inválidos!</p>";} ?> </body> </html> Página de Recuperação de Senha: <?php include_once 'connect.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Recuperação de Senha</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> <script> function confereSenha(){ const senha = document.querySelector('input[name=senha]'); const confirma_senha = document.querySelector('input[name=confirma_senha'); if (confirma_senha.value === senha.value) { confirma_senha.setCustomValidity(''); } else { confirma_senha.setCustomValidity('As senhas digitadas não conferem! Elas precisam ser iguais.'); } } </script> </head> <body> <section class="content"> <div class="contato"> <center><h2>Recuperação de Senha</h2></center> <br><br> <?php $user = $_GET['utilizador']; $hash = $_GET['confirmacao']; $query_recupera = "SELECT * FROM recuperacao"; $result_recupera = $conn->prepare($query_recupera); $result_recupera->execute(); $row_recupera = $result_recupera->fetch(PDO::FETCH_ASSOC); $user_cadastrado = $row_recupera['email_usu']; $hash_cadastrado = $row_recupera['confirmacao']; $query_usuario = "SELECT * FROM usuario WHERE email = '$user'"; $result_usuario = $conn->prepare($query_usuario); $result_usuario->execute(); $row_usuario = $result_usuario->fetch(PDO::FETCH_ASSOC); $id_user = $row_usuario['id']; $modified = date('Y-m-d H:i:s'); echo $id_user; if(!empty($_POST)){ if($user == $user_cadastrado && $hash == $hash_cadastrado){ $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); $sql = "UPDATE usuario SET senha =:senha, modified =:modified WHERE id =:id"; $statement = $conn->prepare($sql); $statement->bindParam(':senha', password_hash($dados['senha'], PASSWORD_DEFAULT)); $statement->bindParam(':modified', $modified); $statement->bindParam(':id', $id_user); if($statement->execute()){ echo "<p style='color: green;'>Senha alterada com sucesso!</p>"; echo "<p><a href='login.php'>Voltar ao Login></a></p>"; } else { echo "<p style='color: red;'>Erro! Não foi possível alterar sua senha. Por favor, entre em contato com o administrador do sistema.</p>"; } } else { echo "<p style='color: red;'>Erro! Não foi possível alterar sua senha. Por favor, entre em contato com o administrador do sistema.</p>"; } } else { echo ""; } ?> <form name="cad_usu" class="form" method="POST" action=""> <input class="field" type="password" name="senha" placeholder="Senha" required onchange='confereSenha();'> <input class="field" type="password" name="confirma_senha" placeholder="Confirmar Senha" required onchange='confereSenha();'> <input class="field2" type="submit" name="AlteraSenha" value="Alterar Senha"> <input class="field2" type="reset" value="Limpar Formulário"> </form> </div> </section> </div> </body> </html> E por fim, a página que abre quando clico no link recebido pelo e-mail: <?php include_once 'connect.php'; ?> <html> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Login</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> </head> <body> <section class="content"> <div class="contato"> <h2>Recuperação de Senha</h2> Por favor, digite o e-mail cadastrado.<br><br> <form name="cad_usu" class="form" method=post> <input class="field" type="email" name="email_usu" placeholder="E-mail" required> <input class="field2" type="submit" name="Recuperar" value="Recuperar Senha"> <center><a href="login.php"><font size="2">Voltar ao Login</font></a></center> </form> </div> </section> <?php if(!isset($_POST['Recuperar'])){exit;} $dados = filter_input_array(INPUT_POST,FILTER_DEFAULT); $query_usuario = "SELECT email FROM usuario WHERE email =:email LIMIT 1"; $result_usuario = $conn->prepare($query_usuario); $result_usuario->bindParam(':email', $dados['email_usu']); $result_usuario->execute(); $row_usuario = $result_usuario->fetch(PDO::FETCH_ASSOC); if($row_usuario) { //se o e-mail for localizado, acontece isso: //gera a chave de confirmação $utilizador = $dados['email_usu']; $chave = sha1(uniqid( mt_rand(), true)); //salva a chave no banco de dados $query_salva_usu = "INSERT INTO recuperacao (email_usu, confirmacao) VALUES (:email_usu, :confirmacao)"; $salva_usu = $conn->prepare($query_salva_usu); $salva_usu->bindParam(':email_usu', $dados['email_usu'], PDO::PARAM_STR); $salva_usu->bindParam(':confirmacao', $chave, PDO::PARAM_STR); $salva_usu->execute(); if($salva_usu->rowCount()){ $link = "http://www.sgi.dev.br/recuperar.php?utilizador=$utilizador&confirmacao=$chave"; if(mail($utilizador, 'Recuperação de Senha', 'Olá, '.$utilizador.'. Recebemos uma solicitação de recuperação de senha do site SGI - Sistema de Gestão de Igrejas. Se foi você, por favor, clique no link a seguir e crie uma nova senha: '.$link.' Se você não se lembra de ter solicitado essa alteração, por favor, desconsidere este e-mail. ')) echo "<center><p style='color: green;'>Um link de confirmação foi enviado para '.$utilizador.'. <br>Por favor, abra-o e confirme sua solicitação. Se não o encontrar na caixa de entrada, gentileza verificar a caixa de spam.</center></p>"; }else{ echo "<p style='color: #ff0000;'>Erro. Não foi possível recuperar a senha. Entre em contato com o administrador do sistema!</p>"; } } else { //se o e-mail não for localizado, acontece isso: echo "<div class=content><p style='color: red'> Erro: email não encontrado!</p>"; } ?> </body> </html>
  10. Mas a gravação está certa. Está gravando criptografado certinho no bd. O problema é validar o login.
  11. Boa tarde, amigos. Estou criando um sisteminha simples de login. Consigo cadastrar o usuário, e tudo funciona salvando a senha crua no banco de dados. Mas quando tento usar hash para criptografar, ela salva criptografada no BD, mas na hora do login, dá senha inváilda. Alguém pode me ajudar com os códigos? Página inserir novo usuário: <?php include_once 'connect.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Cadastro de Usuário</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> <script> function confereSenha(){ const senha = document.querySelector('input[name=senha]'); const confirma_senha = document.querySelector('input[name=confirma_senha'); if (confirma_senha.value === senha.value) { confirma_senha.setCustomValidity(''); } else { confirma_senha.setCustomValidity('As senhas digitadas não conferem! Elas precisam ser iguais.'); } } </script> </head> <body> <section class="content"> <div class="contato"> <h2>Cadastro</h2> Por favor, preencha todos os dados para criar um novo usuário.<br><br> <?php $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); if (!empty($dados['CadUsuario'])) { var_dump($dados['senha']); $query_usuario = "INSERT INTO usuario (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES (:nome, :email, :senha, :situacoe_id, :niveis_acesso_id, :created, :modified)"; $cad_usuario = $conn->prepare($query_usuario); $cad_usuario->bindParam(':nome', $dados['nome'], PDO::PARAM_STR); $cad_usuario->bindParam(':email', $dados['email'], PDO::PARAM_STR); $cad_usuario->bindParam(':senha', password_hash($dados['senha'], PASSWORD_BCRYPT,['cost=>12'])); $cad_usuario->bindParam(':situacoe_id', $dados['situacoe_id'], PDO::PARAM_STR); $cad_usuario->bindParam(':niveis_acesso_id', $dados['niveis_acesso_id'], PDO::PARAM_STR); $cad_usuario->bindParam(':created', $dados['created'], PDO::PARAM_STR); $cad_usuario->bindParam(':modified', $dados['modified'], PDO::PARAM_STR); $cad_usuario->execute(); if($cad_usuario->rowCount()){ echo "<p style='color: green;'>Usuário cadastrado com sucesso!</p>"; }else{ echo "<p style='color: #ff0000;'>Erro ao cadastrar usuário!</p>"; }} ?> <form name="cad_usu" class="form" method="POST" action=""> <input class="field" name="nome" placeholder="Nome" required> <input class="field" type="email" name="email" placeholder="E-mail" required> <input class="field" type="password" name="senha" placeholder="Senha" required onchange='confereSenha();'> <input class="field" type="password" name="confirma_senha" placeholder="Confirmar Senha" required onchange='confereSenha();'> <input type="hidden" name="situacoe_id" value="1"> <input type="hidden" name="niveis_acesso_id" value="1"> <input type="hidden" name="created" value='<?php echo date("Y-m-d H:i:s"); ?>'> <input type="hidden" name="modified" value='<?php echo date("Y-m-d H:i:s"); ?>'> <input class="field2" type="submit" name="CadUsuario" value="Cadastrar Usuário"> <input class="field2" type="reset" value="Limpar Formulário"> </form> </div> </section> </div> </body> </html> Código de login: <?php session_start(); include_once 'connect.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Cadastro de Usuário</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> </head> <body> <section class="content"> <div class="contato"> <h2>Login</h2> Por favor, entre com o e-mail e a senha cadastrados.<br><br> <?php $dados = filter_input_array(INPUT_POST,FILTER_DEFAULT); if(!empty($dados['SendLogin'])){ $query_usuario = "SELECT id, nome, email, senha FROM usuario WHERE email =:email AND senha =:senha LIMIT 1"; $result_usuario = $conn->prepare($query_usuario); $result_usuario->bindParam(':email', $dados['email']); $result_usuario->bindParam(':senha', password_hash($dados['senha'], PASSWORD_BCRYPT,['cost=>12'])); $result_usuario->execute(); if(($result_usuario) AND ($result_usuario->rowCount() !=0)){ $row_usuario = $result_usuario->fetch(PDO::FETCH_ASSOC); if($dados['senha'] == $row_usuario['senha']) { $_SESSION['id'] = $row_usuario['id']; $_SESSION['nome'] = $row_usuario['nome']; header("Location: painel.php"); }else{ $_SESSION['msg'] = "<p style='color: red'>Erro: Usuário e/ou senha inválidos!</p>"; } }else{ $_SESSION['msg'] = "<p style='color: red'>Erro: Usuário e/ou senha inválidos!</p>"; } } if(isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> <form name="cad_usu" class="form" method="POST" action=""> <input class="field" type="email" name="email" placeholder="E-mail" required> <input class="field" type="password" name="senha" placeholder="Senha" required> <input class="field2" type="submit" name="SendLogin" value="Entrar no Sistema"> <input class="field2" type="reset" value="Limpar Formulário"> </form> </div> </section> </div> </body> </html>
  12. Consegui achar o erro. Erro de digitação. Estava $cad_ususario, mas deveria ser $cad_usuario. O mais fácil é sempre o mais difícil. Obrigado!
  13. Olá, amigos, meu código conecta normalmente ao BD, faz tudo certinho, não retorna erro, mas não grava. O que pode ser? Página do formulário e do php: <?php include_once 'connect.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content-"width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Cadastro de Usuário</title> <style> body{font-family: Arial, Helvetica, sans-serif} .content{display:flex;justify-content: center} .contato{width:100%; max-width: 500px;} .form{display: flex; flex-direction: column} .field{padding:10px; margin-bottom:15px; border:1px solid #DDD; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2{padding:10px; margin-bottom:15px; border:1px solid #ADD8E6; background-color:#ADD8E6; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px} .field2:hover{padding:10px; margin-bottom:15px; border:1px solid #87CEFA; background-color:#87CEFA; border-radius: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight:bold;} </style> <script> function confereSenha(){ const senha = document.querySelector('input[name=senha]'); const confirma_senha = document.querySelector('input[name=confirma_senha'); if (confirma_senha.value === senha.value) { confirma_senha.setCustomValidity(''); } else { confirma_senha.setCustomValidity('As senhas digitadas não conferem! Elas precisam ser iguais.'); } } </script> </head> <body> <section class="content"> <div class="contato"> <h2>Cadastro</h2> Por favor, preencha todos os dados para criar um novo usuário.<br><br> <?php $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); if (!empty($dados['CadUsuario'])) { var_dump($dados); $query_usuario = "INSERT INTO usuario (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES ('" . $dados['nome'] . "', '" . $dados['email'] . "', '" . $dados['senha'] . "', '" . $dados['situacoe_id'] . "', '" . $dados['niveis_acesso_id'] . "', '" . $dados['created'] . "', '" . $dados['modified'] . "') "; $cad_usuario = $conn->prepare($query_usuario); $cad_usuario->execute(); } ?> <form name="cad_usu" class="form" method="POST" action=""> <input class="field" name="nome" placeholder="Nome" required> <input class="field" type="email" name="email" placeholder="E-mail" required> <input class="field" type="password" name="senha" placeholder="Senha" required onchange='confereSenha();'> <input class="field" type="password" name="confirma_senha" placeholder="Confirmar Senha" required onchange='confereSenha();'> <input type="hidden" name="situacoe_id" value="1"> <input type="hidden" name="niveis_acesso_id" value="1"> <input type="hidden" name="created" value='<?php echo date("Y-m-d H:i:s"); ?>'> <input type="hidden" name="modified" value='<?php echo date("Y-m-d H:i:s"); ?>'> <input class="field2" type="submit" name="CadUsuario" value"Cadastrar Usuário"> <input class="field2" type="reset" value"Limpar Formulário"> </form> </div> </section> </div> </body> </html> E meu arquivo de conexão: <?php $host = "localhost"; $user = "usuario"; $pass = "*****"; $dbname = "banco"; $conn = new PDO ("mysql:host=$host;dbname=".$banco,$user,$pass); ?>
  14. Amigos, peço a gentileza me ajudarem a encontrar o erro. Meu sistema de cadastro de usuários grava todos os dados no Banco, menos o nome. Segue os códigos: php: <?php $nome = $_POST['nome']; $email = $_POST['email']; $usuario = $_POST['usuario']; $senha = MD5($_POST['senha']); $nivel = 1; $ativo = 0; $cadastro = date('d/m/Y', time());; $connect = mysql_connect('localhost','*************','*************'); $db = mysql_select_db('****************'); $query_select = "SELECT usuario FROM usuarios WHERE usuario = '$usuario'"; $select = mysql_query($query_select,$connect); $array = mysql_fetch_array($select); $logarray = $array['usuario']; if($usuario == "" || $usuario == null){ echo"<script language='javascript' type='text/javascript'>alert('O campo usuário deve ser preenchido');window.location.href='cadastro.html';</script"; }else{ if($logarray == $usuario){ echo"<script language='javascript' type='text/javascript'>alert('Esse usuário já existe');window.location.href='cadastro.html';</script>"; die(); }else{ $query = "INSERT INTO usuarios (nome,email,usuario,senha,nivel,ativo,cadastro) VALUES ('$nome','$email','$usuario','$senha','$nivel','$ativo','$cadastro')"; $insert = mysql_query($query,$connect); if($insert){ echo"<script language='javascript' type='text/javascript'>alert('Usuário cadastrado com sucesso!');window.location.href='login.html'</script>"; }else{ echo"<script language='javascript' type='text/javascript'>alert('Não foi possível cadastrar esse usuário');window.location.href='cadastro.html'</script>"; } } } ?> html: <html> <head> </head> <body> <form method="POST" action="cadastro.php"> <label>Nome Completo:</label><input type="text" name="nome" id="nome"><br> <label>E-mail:</label><input type="text" name="email" id="email"><br> <label>Usuário:</label><input type="text" name="usuario" id="usuario"><br> <label>Senha:</label><input type="password" name="senha" id="senha"><br> <input type="submit" value="Cadastrar" id="cadastrar" name="cadastrar"> </form> </body> </html>
  15. Olá. Tenho uma página de login, que salvei como index.php. Quando o usuário entra com login e senha corretos, a página redireciona para outra página, a index2.php. É uma página independente, não sendo viável no meu projeto colocá-la como um include na página principal. Tudo funciona. Exceto que, se o usuário, sem logar, digitar o endereço completo da página, ou seja, www.meusite.com.br/index2.php, ela abre normalmente. Como fazer para que ela não abra, se não passar antes pela página de login? Esta é minha página index.php: </style> <?php include('app/connection.php'); ?> </head> <body> <div id="corpo"> <center><img src="app/img/logo.png" width="500" height="210"></center></div><BR> <div id="paginas"> <?php @session_start(); include('valida_user.php'); ?> </div> Esta é a página valida_user.php <?php @session_start(); if(isset($_POST['enviar'])){ $usuario = $_POST['usuario']; $senha = $_POST['senha']; if($usuario ==''){echo "<h4>Por favor, insira um nome de usuário válido</h4>"; }else if($senha ==''){echo "<h4>Por favor, insira sua senha</h4>"; }else{ $sql = "SELECT * FROM usuarios WHERE usuario = '$usuario' AND senha = '$senha' "; $result = mysqli_query($conexao, $sql); if(mysqli_num_rows($result) > 0){ while($res = mysqli_fetch_array($result)){ $ativo = $res['ativo']; $nivel = $res['nivel']; $usuario = $res['usuario']; $senha = $res['senha']; $email = $res['email']; $nome = $res['nome']; $cadastro = $res['cadastro']; header("Location: index2.php"); exit; } }else{ echo "<center><h3>Usuário ou senha inválidos</h3></center>"; } } } ?>
  16. Boa noite, amigos. Estou tentando inserir data completa e hora, assim: Segunda, 14 de Junho de 2021, 19:05:23 Mas está saindo assim: 1, 1452021, 19:05:23. Segue meu código. Alguém poderia me ajudar a ver o que está errado? <script type="text/javascript"> function startTime() { var today=new Date(); var year=today.getYear(); if (year<2000) year += (year <1900) ? 1900 : 0 var day=today.getDay(); var month=today.getMonth(); var daym=today.getDate(); if (daym<10) daym="0"+daym var dayarray=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"); var montharray=new Array("de Janeiro de ","de Fevereiro de ","de Março de ","de Abril de ","de Maio de ","de Junho de ","de Julho de ","de Agosto de ","de Setembro de ","de Outubro de ","de Novembro de ","de Dezembro de "); var h=today.getHours(); var m=today.getMinutes(); var s=today.getSeconds(); // adicione um zero na frente de números<10 m=checkTime(m); s=checkTime(s); document.getElementById('txt').innerHTML=day+","+daym+month+year+", "+h+":"+m+":"+s; t=setTimeout('startTime()',500); } function checkTime(i) { if (i<10) { i="0" + i; } return i; } </script> </head> </head> <body onload="startTime()"> <div id="txt"></div> </body>
  17. Olá, amigos. Tenho uma página com vários links para documentos em pdf, que são numerados sequencialmente. Só que alguns números os documentos não existem. Eu queria que, ao clicar nesses números, aparecesse aquela janelinha de alerta, dizendo que aquele documento não existe, em vez de direcionar para página indexistente. Tipo, no link: <a href="link do documento" target="_blank" rel="noopener noreferrer">Dcumento 37</a><br> o Documento 37 é um dos que não existem. Aí queria que aparecesse no meio da tela, uma janelinha dizendo: "Este documento não existe no banco de dados", e um botão "Ok" para fechar a mensagem. Tem como fazer isso só com html, sem css, java e php?
  18. Amigos, não sei nem engatinhar mas já quero correr. Tenho um BD com cadastro dos membros de uma igreja. Um dos campos da tabela, é "status", no qual diz se é membro ativo, inativo, impossibilitado, falecido, etc. Quero colocar uma combobox (select) já preenchida com todas as possibilidades de status, e quando o usuário selecionar um linha, filtrar e mostrar somente os dados cujo status seja igual ao selecionado. Além disso, coloquei duas opções a mais no combobox, uma para "membros", que pega mais de um status, e também outra para não membros, que pega mais de um status. Nessa parte, da linha 76, while($dado = $pega_vazio ->fetch_array()){ ?> Não sei o que colocar no lugar do $pega_vazio. Quero que entre aqui o que foi selecionado no combobox. E no mais, o código não funcionou. Ou seja, não retorna nenhum resultado. Se puderem dar uma ajuda, se estou no caminho certo, ou se devo começar de novo por outro caminho, fico muito grato. Eis o código inteiro da página <?php include("conecta.php"); $sql_vazio = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas order by Nome"; $pega_vazio = $mysqli ->query($sql_vazio) or die ($mysqli ->error); $sql_membros = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Ativo') or ('Inativo') or ('Ausente') or ('Impossibilitado') or ('Sob Disciplina') ORDER BY Nome"; $pega_membros = $mysqli ->query($sql_membros) or die ($mysqli ->error); $sql_naomembros = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Filho de Membro') or ('Visitante') or ('Transferido') or ('Desligado') or ('Falecido') ORDER BY Nome"; $pega_naomembros = $mysqli ->query($sql_naomembros) or die ($mysqli ->error); $sql_ativo = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Ativo') ORDER BY Nome"; $pega_ativo = $mysqli ->query($sql_ativo) or die ($mysqli ->error); $sql_inativo = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Inativo') ORDER BY Nome"; $pega_inativo = $mysqli ->query($sql_inativo) or die ($mysqli ->error); $sql_ausente = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Ausente') ORDER BY Nome"; $pega_ausente = $mysqli ->query($sql_ausente) or die ($mysqli ->error); $sql_impossibilitado = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Impossibilitado') ORDER BY Nome"; $pega_impossibilitado = $mysqli ->query($sql_impossibilitado) or die ($mysqli ->error); $sql_sobdisciplina = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Sob Disciplina') ORDER BY Nome"; $pega_sobdisciplina = $mysqli ->query($sql_sobdisciplina) or die ($mysqli ->error); $sql_filhodemembro = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Filho de Membro') ORDER BY Nome"; $pega_filhodemembro = $mysqli ->query($sql_filhodemembro) or die ($mysqli ->error); $sql_visitante = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Visitante') ORDER BY Nome"; $pega_visitante = $mysqli ->query($sql_visitante) or die ($mysqli ->error); $sql_transferido = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Transferido') ORDER BY Nome"; $pega_transferido = $mysqli ->query($sql_transferido) or die ($mysqli ->error); $sql_desligado = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Desligado') ORDER BY Nome"; $pega_desligado = $mysqli ->query($sql_desligado) or die ($mysqli ->error); $sql_falecido = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas WHERE 'Status' = ('Falecido') ORDER BY Nome"; $pega_falecido = $mysqli ->query($sql_falecido) or die ($mysqli ->error); if(!empty($_POST['bt_enviar'])) { $vazio = (empty($_POST['']))? 'null' : $_POST['']; $membro = (empty($_POST['Membros']))? 'null' : $_POST['Membros']; $naomembro = (empty($_POST['Não Membros']))? 'null' : $_POST['Não Membros']; $ativo = (empty($_POST['Ativos']))? 'null' : $_POST['Ativos']; $inativo = (empty($_POST['Inativos']))? 'null' : $_POST['Inativos']; $ausente = (empty($_POST['Ausentes']))? 'null' : $_POST['Ausentes']; $impossibilitado = (empty($_POST['Impossibilitados']))? 'null' : $_POST['Impossibilitados']; $sobdisciplina = (empty($_POST['Sob Disciplina']))? 'null' : $_POST['Sob Disciplina']; $filhodemembro = (empty($_POST['Filhos de Membro']))? 'null' : $_POST['Filhos de Membro']; $visitante = (empty($_POST['Visitantes']))? 'null' : $_POST['Visitantes']; $transferido = (empty($_POST['Transferidos']))? 'null' : $_POST['Transferidos']; $desligado = (empty($_POST['Desligados']))? 'null' : $_POST['Desligados']; $falecido = (empty($_POST['Falecidos']))? 'null' : $_POST['Falecidos']; } ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <body><center> <br><br> <form action="" method="post"> <span></span> <select name="consultaStatus" id="consultaStatus"> <option value=""></option> <option value="Membros">Membros</option> <option value="Não Membros">Não Membros</option> <option value="Ativo">Ativo</option> <option value="Inativo">Inativo</option> <option value="Ausente">Ausente</option> <option value="Impossibilitado">Impossibilitado</option> <option value="Sob Disciplina">Sob Disciplina</option> <option value="Filho de Membro">Filho de Membro</option> <option value="Visitante">Visitante</option> <option value="Transferido">Transferido</option> <option value="Desligado">Desligado</option> <option value="Falecido">Falecido</option> </select><br> <input type="submit" name="bt_enviar" value="buscar" /><br /> <BR> <table border=0"> <tr bgcolor="blue" align="center" <div style="font-size: 18px; font-weight: bold; color: white;"> <td valign="middle"><img border="0" src="img/cod.png" width="80" height="25"></td> <td valign="middle"><img border="0" src="img/nome.png" width="80" height="25"></td> <td valign="middle"><img border="0" src="img/tel.png" width="100" height="25"></td> <td valign="middle"><img border="0" src="img/cel.png" width="100" height="25"></td> <td valign="middle"><img border="0" src="img/email.png" width="80" height="25"></td> <td valign="middle"><img border="0" src="img/dtnasc.png" width="130" height="25"></td> <td valign="middle"><img border="0" src="img/status.png" width="100" height="25"></td> <td valign="middle"><img border="0" src="img/acao.png" width="100" height="25"></td> </tr> <?php while($dado = $pega_vazio ->fetch_array()){ ?> <tr style="cursor:default" onMouseOver="javascript:this.style.backgroundColor='#B0E0E6'" onMouseOut="javascript:this.style.backgroundColor=''"> <td><?php echo $dado["Cod"]; ?></td> <td><?php echo $dado["Nome"]; ?></td> <td><?php echo $dado["Tel"]; ?></td> <td><?php echo $dado["Cel"]; ?></td> <td><?php echo $dado["Email"]; ?></td> <td><?php echo date("d/m/Y", strtotime($dado["DtNasc"])); ?></td> <td><?php echo $dado["Status"]; ?></td> <td><a href="dadoscompletos.php?codigo=<?php echo $dado["Cod"]; ?>" target="_blank">Dados Completos</a> </td> </tr> <?php } ?> </table> </center> </body> </html>
  19. Olá, amigos, ainda não consegui uma solução. Alguém pode dar uma força?
  20. Amigos, tenho um BD com uma tabela "CadPessoas" contendo 39 colunas. Nome, enderço, dt nascimento, etc.. Tenho uma página com uma que retorna todos os registros, por ordem alfabética, limitandoa cinco colunas, e uma coluna no final com um link para outra página com os dados completos daquele registro. Assim: <?php if (!isset($_SESSION)) session_start(); if (!isset($_SESSION['UsuarioID'])) { session_destroy(); header("Location: login.html"); exit; } include("classe/conecta.php"); $consulta = "SELECT Cod,Nome,Tel,Cel,Email,DtNasc,Status FROM CadPessoas order by Nome"; $con = $mysqli->query($consulta) or die($mysqli->error); ?> <html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> </head> <body><center> <br><br> <table border=0> <tr bgcolor="blue" align="center" <div style="font-size: 18px; font-weight: bold; color: white;"> <td>Código:</td> <td>Nome:</td> <td>Telefone:</td> <td>Celular:</td> <td>E-mail:</td> <td>Data de Nascimento:</td> <td>Status:</td> <td>Ação</td> </tr> <?php while($dado = $con->fetch_array()){ ?> <tr style="cursor:default" onMouseOver="javascript:this.style.backgroundColor='#B0E0E6'" onMouseOut="javascript:this.style.backgroundColor=''"> <td><?php echo $dado["Cod"]; ?></td> <td><?php echo $dado["Nome"]; ?></td> <td><?php echo $dado["Tel"]; ?></td> <td><?php echo $dado["Cel"]; ?></td> <td><?php echo $dado["Email"]; ?></td> <td><?php echo date("d/m/Y", strtotime($dado["DtNasc"])); ?></td> <td><?php echo $dado["Status"]; ?></td> <td><a href="dadoscompletos.php?codigo=<?php echo $dado["Cod"]; ?>">Dados Completos</a> </td> </tr> <?php } ?> </table> </center> </body> </html> Até aqui tudo funciona. Porém queria colocar alguns filtros para consulta. Então coloquei alguns combobox(select) já preenchidos e gostaria que, ao ir selecionando os "option" de cada select, a tabela fosse filtrando conforme selecionado. Tipo: Seleciono M, no select Sexo, e ficam só os sexo masculino. Aí seleciono Ausente no select Status, ficam só os ausentes do sexo masculino. Seleciono Transferidos no select Admissão, ficam só os masculinos, ausentes e transferidos. Aí resolvo desmarcar o M no select sexo, e aparecem homens e mulheres ausentes e transferidos... e assim por diante. Inseri os selects e preenchi, mas meu pequeno conhecimento de php só vai até aqui. Alguma dica ou ajuda? O código dos selects: <p> <table bgcolor="azure" border=0 cellpadding="10"> <tr> <td width="130px">Situação<br> <select style=" width:130px" name="situacao"> <option value=""></option> <option value="Membros">Membros</option> <option value="nao_membros">Solteiros</option> </select></td> <td width="130px">Estado Civil<br> <select style=" width:130px" name="estcivil"> <option value=""></option> <option value="solteiros">Solteiros</option> <option value="casados">Casados</option> <option value="separados">Separados</option> <option value="divorciados">Divorciados</option> <option value="viuvos">Viúvos</option> </select></td> <td width="130px">Sexo<br> <select style=" width:130px" name="sexo"> <option value=""></option> <option value="m">Masculino</option> <option value="f">Feminino</option> </select></td> <td width="130px">Status<br> <select style=" width:130px" name="status"> <option value=""></option> <option value="ativos">Ativos</option> <option value="inativos">Inativos</option> <option value="impossibilitados">Impossibilitados</option> <option value="ausentes">Ausentes</option> <option value="sob_disciplina">Sob Disciplina</option> </select></td> <td width="130px">Faixa Etária<br> <select style=" width:130px" name="faixaetaria"> <option value=""></option> <option value="criancas">Até 08 Anos</option> <option value="juniores">09 a 11 Anos</option> <option value="adolescentes">12 a 17 Anos</option> <option value="Jovens1">18 a 25 Anos</option> <option value="Jovens2">26 a 35 Anos</option> <option value="Adultos1">36 a 49 Anos</option> <option value="Adultos2">50 a 59 Anos</option> <option value="Idosos1">60 a 64 Anos</option> <option value="Idosos2">65 a 79 Anos</option> <option value="Idosos3">80 acima</option> </select> <td width="130px">Forma de Admissão<br> <select style=" width:130px" name="admissao"> <option value=""></option> <option value="batismo">Batismo</option> <option value="transferencia">Transferência</option> <option value="reconciliacao">Reconciliação</option> <option value="aclamacao">Aclamação</option> </select></td> <td width="130px">Forma de Saída<br> <select style=" width:130px" name="saida"> <option value=""></option> <option value="transferencia">Transferência</option> <option value="falecimento">Falecimento</option> <option value="desligamento">Desligamento</option> </select></td> <td width="130px"><br><input type="submit" name="botaobuscar" value="PESQUISAR" style=" width:130px" /></td> </tr></table> </p>
×
×
  • Criar Novo...