Edilson Santiago
Membros-
Total de itens
37 -
Registro em
-
Última visita
Sobre Edilson Santiago
Últimos Visitantes
O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.
Edilson Santiago's Achievements
0
Reputação
-
Resolvido, mudei para if(!empty($_POST['apaga'])){ $conn->prepare("DELETE FROM recuperacao WHERE email_usu=?")->execute([$email_usu]);
-
Amigos, estou criando um sistema de login, e nele tenho uma página "esqueci a senha". Tudo funciona, exceto uma coisa. Quando o usuário altera a senha, eu preciso que os dados do link único que foram gerados pelo php e armazenados no banco de dados sejam apagados tabela "recuperação". E o meu comando "delete" não funciona. A linha não apaga. E não consigo entender o porque. O comando que uso para deletar é: if($statement->execute()){ $query_apaga = "DELETE * FROM recuperacao WHERE email_usu = '$user'"; $result_apaga = $conn->prepare($query_apaga); $result_apaga->execute(); echo "<p style='color: green;'>Senha alterada com sucesso!</p>"; echo "<p style='color: green;'><a href='login.php'><font size='2'>Voltar ao Login</font></a></center></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>"; } Meu código completo: <?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']; $modified = date('Y-m-d H:i:s'); $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']; 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()){ $query_apaga = "DELETE * FROM recuperacao WHERE email_usu = '$user'"; $result_apaga = $conn->prepare($query_apaga); $result_apaga->execute(); echo "<p style='color: green;'>Senha alterada com sucesso!</p>"; echo "<p style='color: green;'><a href='login.php'><font size='2'>Voltar ao Login</font></a></center></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! Os dados fornecidos não conferem. Tente novamente ou 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>
-
Exibir / ocultar divs com cliques em 2 input radio
pergunta respondeu ao Edilson Santiago de Edilson Santiago em Tutoriais & Dicas - HTML, XHTML, CSS
Olá, amigo. Agradeço a ajuda. Funcionou quase 100%, exceto pelo fato de que, quando entro na página, antes de clicar em qualquer coisa, todas as divs dentro da divBuscar ficam visíveis em vez de ocultas. Daí, ao primeiro click, tudo funciona. -
Cálculo com datas não funciona.
pergunta respondeu ao Edilson Santiago de Edilson Santiago em Tutoriais & Dicas - PHP
Consegui resolver. É sempre o detalhe mais simples. Eu tinha esquecido das 'aspas' simples nas variáveis: $criancas = "SELECT * FROM CadPessoas WHERE DtNasc BETWEEN '$menos9anos' AND '$dataatual'"; -
Olá, amigos. Pergunta de principiante, mas to quebrando a cabeça. Preciso listar todas os registros cuja idade hoje seja menor que 9 anos. Fiz assim: <?php $dataatual = date('Y-m-d'); $menos9anos= date('Y-m-d',strtotime('-3286 days')); $criancas = "SELECT * FROM CadPessoas WHERE DtNasc BETWEEN $menos9anos AND $dataatual"; ?> <html> <head></head> <body> <table> <thead> <tr bgcolor=#0404b8> <td align=center ><b>ID </b></td> <td align=center ><b>NOME</b></td> <td align=center ><b>CELULAR</b></td> <td align=center ><b>DT.NASC.</b></td> <td align=center ><b>STATUS</b></td> <td align=center ><b>AÇÃO</b></td> </tr> </thead> <tbody bgcolor=#3232e3> <?php $dsn = ("mysql:host=localhost;dbname=meubanco;charset=utf8"); $user = "meuusuario"; $pass = "minhasenha"; $pdo = new PDO($dsn,$user,$pass); $stm = $pdo->query($criancas); $rows = $stm->fetchAll(); $count = count($rows); ?> <div style="color:#ffffff; font-size:20px;" align="right" text-color="red"><b>Total de registros encontrados: <?php echo $count;?> </b></div> <?php foreach($rows as $row){ echo "<tr>"; echo ("<td align=center>{$row['Cod']}</td>"); echo ("<td>{$row['Nome']}</td>"); echo ("<td>{$row['Cel']}</td>"); ?> <td align=center><?php echo ( date('d/m/Y', strtotime($row['DtNasc'])) ); ?></td> <td align=center><?php echo $row['Status']; ?></td> <td align=center><a href="pessoa_completo.php?<?php echo $row['Cod']?>"><img src="../img/more.png" alt="Imagem" height="39" width="100" /> </td> <?php } ?> </tbody> </table><br> </body> </html> Mas ele está retornando pessoas com idade maior, por exemplo, nascidas em 1986. Deveria retornar só de 2013 pra cá. Detalhe: todas as datas do campo DtNasc do banco de dados estão salvas no formato 1998-12-04 00:00:00. Abraços
-
enho um formulário com três campos: PESQUISAR, CAMPO e ÁREA. Os dois primeiros com input rádio, e o terceiro com vários selects, cada um dentro de uma div. Minha intenção é que as divs do campo ÁREA fiquem todas ocultas, e quando eu selecionar uma opção no radio do primeiro campo, e outra opção no radio do segundo campo, a div correspondente a essa combinação sno campo eja exibida. Exemplo: No campo "PESQUISAR" eu clico em "todos" e no campo "CAMPO" eu clicar em "sexo", preciso que apenas a div id="buscaporsexo" seja exibida e todas as outras escondidas. Se no campo "PESQUISAR" clicar em "membros" e no campo "CAMPO" clicar em "faixa etária", preciso que apareça só a div id="buscaporidade". E assim por diante. Fiz assim: Javascript: <script> function mostra_esconde() { if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_todos').checked { document.getElementById("buscaportodososregistros").style.display = 'block'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_sexo').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'block'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_status').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'block'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_estcivil').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'block'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_entrada').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'block'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_saida').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'block'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_todos').checked) && document.getElementById('campo_faixa').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'block'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_todos').checked { document.getElementById("buscaportodososregistros").style.display = 'block'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_sexo').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'block'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_status').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'block'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_estcivil').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'block'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_entrada').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'block'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_membros').checked) && document.getElementById('campo_faixa').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none; document.getElementById("buscaporidade").style.display = 'block'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_todos').checked { document.getElementById("buscaportodososregistros").style.display = 'block'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_sexo').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'block'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_status').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'block'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_estcivil').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'block'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_entrada').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'block'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_saida').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'block'; document.getElementById("buscaporidade").style.display = 'none'; } else if(document.getElementById('pesquisar_naomembros').checked) && document.getElementById('campo_faixa').checked { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'block'; } else { document.getElementById("buscaportodososregistros").style.display = 'none'; document.getElementById("buscaporsexo").style.display = 'none'; document.getElementById("buscaporstatusgeral").style.display = 'none'; document.getElementById("buscaporstatusmembro").style.display = 'none'; document.getElementById("buscaporstatusnaomembro").style.display = 'none'; document.getElementById("buscaporestadocivil").style.display = 'none'; document.getElementById("buscaporformaentrada").style.display = 'none'; document.getElementById("buscaporformasaida").style.display = 'none'; document.getElementById("buscaporidade").style.display = 'none'; } } </script> E o HTML assim: <table id="tabela2"> <thead> <tr bgcolor=#0404b8 align="center"> <td>PESQUISAR</td> <td>CAMPO</td> <td>ÁREA</td> </tr> <tr vertical-align="baseline"> <td valign="top"><input type="radio" name="pesquisar" id="pesquisar_todos" onclick="disableNaomembros(); mostra_esconde()" value="todos" checked> Todos<br> <input type="radio" name="pesquisar" id="pesquisar_membros" value="membros" onclick="disableMembros(); mostra_esconde()"> Membros<br> <input type="radio" name="pesquisar" id="pesquisar_naomembros" value="naomembros" onclick="disableNaomembros(); mostra_esconde()" > Não Membros </td> <td valign="top"><input type="radio" name="campo" id="campo_todos" onclick="mostra_esconde()" value="todos" checked> Todos<br> <input type="radio" name="campo" id="campo_sexo" onclick="mostra_esconde()" value="sexo" > Sexo<br> <input type="radio" name="campo" id="campo_status" onclick="mostra_esconde()" value="status" > Status<br> <input type="radio" name="campo" id="campo_estcivil" onclick="mostra_esconde()" value="estcivil" > Estado Civil<br> <input type="radio" name="campo" id="campo_entrada" onclick="mostra_esconde()" value="entrada"> Forma de Entrada<br> <input type="radio" name="campo" id="campo_saida" onclick="mostra_esconde()" value="saida" > Forma de Saída<br> <input type="radio" name="campo" id="campo_faixa" onclick="mostra_esconde()" value="faixa" > Faixa etária<br> </td> <td valign="top"><div id="buscar"><div id="buscaportodososregistros"><select><option value="todososregistros" selected>Todos os registros</option></select></div><br> <div id="buscaporsexo"><select><option value="" selected>Ambos</option> <option value="f">Feminino</option> <option value="m">Masculino</option></select></div><br> <div id="buscaporstatusgeral"><select><option value="" selected>Todos</option> <option value="ativo">Ativo</option> <option value="instivo">Inativo</option> <option value="impossibilitado">Impossibilitado</option> <option value="ausente">Ausente</option> <option value="suspenso">Suspenso</option> <option value="disciplina">Sob disciplina</option> <option value="transferido">Transferido</option> <option value="desligado">Desligado</option> <option value="falecido">Falecido</option></select></div><br> <div id="buscaporstatusmembro"><select><option value="" selected>Todos</option> <option value="ativo">Ativo</option> <option value="instivo">Inativo</option> <option value="impossibilitado">Impossibilitado</option> <option value="ausente">Ausente</option> <option value="suspenso">Suspenso</option> <option value="disciplina">Sob disciplina</option></select></div><br> <div id="buscaporstatusnaomembro"><select><option value="" selected>Todos</option> <option value="transferido">Transferido</option> <option value="desligado">Desligado</option> <option value="falecido">Falecido</option></select></div><br> <div id="buscaporestadocivil"><select><option value="solteiro" selected>Solteiro</option> <option value="casado">Casado</option> <option value="separado">Separado judicialmente</option> <option value="divorciado">Divorciado</option> <option value="viuvo">Viúvo</option></select></div><br> <div id="buscaporformaentrada"><select><option value="batismo" selected>Batismo</option> <option value="trasnferencia">Transferência</option> <option value="reconciliacao">Reconciliação</option> <option value="rectransf">Reconciliação e Transferência</option> <option value="aclamacao">Aclamação</option></select></div><br> <div id="buscaporformasaida"><select><option value="transferencia" selected>Transferência</option> <option value="desligamento">Desligamento</option> <option value="falecimento">Falecimento</option></select></div><br> <div id="buscaporidade"><select><option value="criancas">Até 8 anos</option> <option value="juniores">9 a 11 anos</option> <option value="adolescentes">12 a 17 anos</option> <option value="jovens1">18 a 25 anos</option> <option value="jovens2" selected>26 a 35 anos</option> <option value="adultos">36 a 59 anos</option> <option value="idosos1">60 a 64 anos</option> <option value="idosos2">65 a 79 anos</option> <option value="idosos3">80 a 99 anos</option> <option value="idosos4">100 anos ou mais</option></select></div></div><br> <div id="inputpesquisa"><input type="text" id="txtBusca" placeholder="Buscar..."/></div><br> <div id="inputbotaopesquisa"><button id="btnBusca">Buscar</button></div> </td> </tr> </thead> </table> Mas creio que está faltando alguma coisa, porque todas as divs estão exibidas, e nada acontece quando clico. As funções disableMembros() e disableNaomembros() estão funcionando, mas a mostra_esconde() não funciona.
-
Faz upload da imagem mas não faz update no BD
pergunta respondeu ao Edilson Santiago de Edilson Santiago em PHP
Desculpe, amigo. Não compreendi. A variável $logo da página do formulário recebe o caminho que está no Banco de Dados, ou seja, a logo atual. Quando clico em "salvar", ele chama o php que vai fazer o UPDATE. Esse php, vai gerar o url da nova logo, então a primeira url já é desnecessária. De fato eu fiz o segundo php com a variável $foto_logo, em vez de $logo. Mas corrigido isso, continua o problema. Quanto à variável $_FILES, não entendi por que ela tem que estar na página do formulário, se ela é chamada no php antes do update, e é justamente ela que está pegando o arquivo do files e mandando pro upload, além de gerar o url do mesmo. Mas mesmo assim, segui a sua sugestão. Ficou assim a página do formulário: <?php session_start(); if(!isset($_SESSION['id'])) { header("location: ../index.php"); exit; } require_once '../config.php'; $resultado_igreja = "SELECT * FROM CadIgreja"; $resultado = $pdo->prepare($resultado_igreja); $resultado->execute(); $row_igreja = $resultado->fetch(PDO::FETCH_ASSOC); ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <link type="text/css" rel="stylesheet" media="screen" href="estilos2.css" /> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">DADOS DA IGREJA</h2></font><br><br></div> <div id="table"> <div class="instrucoes">Atenção! Você está no "Modo Editar". Todas as alterações feitas no formulário<br>serão gravadas no Banco de Dados ao clicar em "Salvar"</div> <form id="formulario" method="POST" enctype="multipart/form-data" action="proc_edit_igreja.php"> <label class="id">ID:</label> <input class="id" type="text" name="id" value="<?php echo $row_igreja['IdIgreja']; ?>"> <label class="nome">Nome:</label> <input class="nome" type="text" name="nome" value="<?php echo $row_igreja['Nome']; ?>"> <label class="tipo">Tipo:</label> <select class="editatipo" name="tipo"> <option value="<?php echo $row_igreja['id']; ?>"><?php echo $row_igreja['tipo']; ?></option> <option value=""></option> <option value="Sede">Sede</option> <option value="Congregação">Congregação</option> <option value="Ponto de Pregação">Ponto de Pregação</option> <option value="Missão">Missão</option> <option value="Célula">Pequeno Grupo / Célula</option> </select> <label class="rua">Endereço (Rua, Av., etc.):</label> <input class="rua" type="text" name="rua" value="<?php echo $row_igreja['EnderecoRua']; ?>" > <label class="numero">Número:</label> <input class="numero" type="text" name="numero" value="<?php echo $row_igreja['Num']; ?>" > <label class="complem">Complemento:</label> <input class="complem" type="text" name="complem" value="<?php echo $row_igreja['Compl']; ?>" > <label class="bairro">Bairro:</label> <input class="bairro" type="text" name="bairro" value="<?php echo $row_igreja['Bairro']; ?>" > <label class="cidade">Cidade:</label> <input class="cidade" type="text" name="cidade" value="<?php echo $row_igreja['Cidade']; ?>s" > <label class="uf">UF:</label> <select class="editauf" name="uf"> <option value="<?php echo $row_igreja['id']; ?>"><?php echo $row_igreja['UF']; ?></option> <option value=""></option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MS">MS</option> <option value="MT">MT</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select> <label class="cep">CEP:</label> <input class="cep" type="text" name="cep" value="<?php echo $row_igreja['CEP']; ?>" > <label class="tel">Telefone:</label> <input class="tel" type="text" name="tel" value="<?php echo $row_igreja['Tel']; ?>" > <label class="tel2">Telefone (2):</label> <input class="tel2" type="text" name="tel2" value="<?php echo $row_igreja['Tel2']; ?>" > <label class="email">E-mail:</label> <input class="email" type="text" name="email" value="<?php echo $row_igreja['E-mail']; ?>" > <label class="site">Site:</label> <input class="site" type="text" name="site" value="<?php echo $row_igreja['Site']; ?>" > <label class="razsoc">Razão Social:</label> <input class="razsoc" type="text" name="razsoc" value="<?php echo $row_igreja['RazSoc']; ?>" > <label class="cnpj">CNPJ:</label> <input class="cnpj" type="text" name="cnpj" value="<?php echo $row_igreja['CNPJ']; ?>" > <label class="dtorg">Dt. Organização:</label> <input class="dtorg" type="text" name="dtorg" value="<?php echo date('d/m/Y', strtotime($row_igreja['DtOrg'])); ?>" > <label class="dtatualiza">Última Atualização:</label> <input class="dtatualiza" type="text" name="dtatualiza" value="<?php echo date('d/m/Y', strtotime($row_igreja['UltimaAtualiz'])); ?>" > <label class="obs">Obs:</label> <input class="obs" type="textarea" scrool="yes" name="obs" value="<?php echo $row_igreja['Obs']; ?>" > <?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 »</label> <?php if ( isset( $_FILES[ 'flImage' ][ 'name' ] ) && $_FILES[ 'flImage' ][ 'error' ] == 0 ) { $arquivo_tmp = $_FILES[ 'flImage' ][ 'tmp_name' ]; $nome = $_FILES[ 'flImage' ][ 'name' ]; $extensao = pathinfo ( $nome, PATHINFO_EXTENSION ); $extensao = strtolower ( $extensao ); if ( strstr ( '.jpg;.jpeg;.gif;.png', $extensao ) ) { $novoNome = uniqid ( time () ) . '.' . $extensao; $destino = 'photos/' . $novoNome; if ( @move_uploaded_file ( $arquivo_tmp, $destino ) ) { $logo = "http://www.meusite.com.br/ibnagv/paginas/" . $destino; }else $logo = ""; } else $logo = ""; } ?> <input class="btn_edit" type="submit" name"salvar" value="SALVAR"> </form> </div> </body> </head> </html> E o php que faz o update ficou assim: <?php session_start(); if(!isset($_SESSION['id'])) { header("location: ../index.php"); exit; } require_once '../config.php'; if(isset($_POST)){ $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_STRING); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $tipo = filter_input(INPUT_POST, 'tipo', FILTER_SANITIZE_STRING); $rua = filter_input(INPUT_POST, 'rua', FILTER_SANITIZE_STRING); $numero = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_STRING); $complem = filter_input(INPUT_POST, 'complem', FILTER_SANITIZE_STRING); $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_STRING); $cidade = filter_input(INPUT_POST, 'cidade', FILTER_SANITIZE_STRING); $uf = filter_input(INPUT_POST, 'uf', FILTER_SANITIZE_STRING); $cep = filter_input(INPUT_POST, 'cep', FILTER_SANITIZE_STRING); $tel = filter_input(INPUT_POST, 'tel', FILTER_SANITIZE_STRING); $tel2 = filter_input(INPUT_POST, 'tel2', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING); $site = filter_input(INPUT_POST, 'site', FILTER_SANITIZE_STRING); $razsoc = filter_input(INPUT_POST, 'razsoc', FILTER_SANITIZE_STRING); $cnpj = filter_input(INPUT_POST, 'cnpj', FILTER_SANITIZE_STRING); $obs = filter_input(INPUT_POST, 'obs', FILTER_SANITIZE_STRING); $logo = filter_input(INPUT_POST, 'logo', FILTER_SANITIZE_STRING); $dtorg = filter_input(INPUT_POST, 'dtorg', FILTER_SANITIZE_STRING); $dtatualiza = filter_input(INPUT_POST, 'dtatualiza', FILTER_SANITIZE_STRING); $sql = "UPDATE CadIgreja SET Nome=?, tipo=?, EnderecoRua=?, Num=?, Compl=?, Bairro=?, Cidade=?, UF=?, CEP=?, Tel=?, Tel2=?, E-mail=?, Site=?, RazSoc=?, CNPJ=?, Obs=?, Logo=?, DtOrg=?, UltimaAtualiz=? WHERE IdIgreja=?"; $stmt= $pdo->prepare($sql); if($stmt->execute([$nome, $tipo, $rua, $numero, $complem, $bairro, $cidade, $uf, $cep, $tel, $tel2, $email, $site, $razsoc, $cnpj, $obs, $logo, $dtorg, $dtatualiza, $id])){ echo '<script> alert ("Registro atualizado com sucesso!"); location.href=("igreja.php")</script>'; }else{ echo '<script> alert ("Houve um erro. Tente novamente!"); location.href=("igreja_editar.php")</script>'; } } ?> Mas acho que ainda mereço a justa causa, porque continua fazendo o upload da imagem, mas não faz o update no BD. Fiz um echo para saber se a variável $logo está carregada, e sim, está. Na página do forumlário ela está carregada com a url da logo atual, e no php ela já aparece com a url da nova imagem. Mas nada de update. Por fim, agradeço sua atenção e ajuda. Não sou profissional. Estou criando esse sisteminha gratuitamente para a pequena igreja onde congrego, nas horas de folga, para ir pesquisando, fazendo e aprendendo... por isso às vezes minhas dúvidas e erros podem parecer principiantes, porque de fato são. No mais, abraços. -
Estou tentando fazer update no BD, mas não atualiza. Não sei o que acontece. A imagem da logo faz o upload certinho para a pasta, mas no BD nada muda. Não consigo encontrar o erro. Meu formulário: <?php session_start(); if(!isset($_SESSION['id'])) { header("location: ../index.php"); exit; } require_once '../config.php'; $resultado_igreja = "SELECT * FROM CadIgreja"; $resultado = $pdo->prepare($resultado_igreja); $resultado->execute(); $row_igreja = $resultado->fetch(PDO::FETCH_ASSOC); ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <link type="text/css" rel="stylesheet" media="screen" href="estilos2.css" /> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">DADOS DA IGREJA</h2></font><br><br></div> <div id="table"> <div class="instrucoes">Atenção! Você está no "Modo Editar". Todas as alterações feitas no formulário<br>serão gravadas no Banco de Dados ao clicar em "Salvar"</div> <form id="formulario" method="POST" enctype="multipart/form-data" action="proc_edit_igreja.php"> <label class="id">ID:</label> <input class="id" type="text" name="id" value="<?php echo $row_igreja['IdIgreja']; ?>"> <label class="nome">Nome:</label> <input class="nome" type="text" name="nome" value="<?php echo $row_igreja['Nome']; ?>"> <label class="tipo">Tipo:</label> <select class="editatipo" name="tipo"> <option value="<?php echo $row_igreja['id']; ?>"><?php echo $row_igreja['tipo']; ?></option> <option value=""></option> <option value="Sede">Sede</option> <option value="Congregação">Congregação</option> <option value="Ponto de Pregação">Ponto de Pregação</option> <option value="Missão">Missão</option> <option value="Célula">Pequeno Grupo / Célula</option> </select> <label class="rua">Endereço (Rua, Av., etc.):</label> <input class="rua" type="text" name="rua" value="<?php echo $row_igreja['EnderecoRua']; ?>" > <label class="numero">Número:</label> <input class="numero" type="text" name="numero" value="<?php echo $row_igreja['Num']; ?>" > <label class="complem">Complemento:</label> <input class="complem" type="text" name="complem" value="<?php echo $row_igreja['Compl']; ?>" > <label class="bairro">Bairro:</label> <input class="bairro" type="text" name="bairro" value="<?php echo $row_igreja['Bairro']; ?>" > <label class="cidade">Cidade:</label> <input class="cidade" type="text" name="cidade" value="<?php echo $row_igreja['Cidade']; ?>s" > <label class="uf">UF:</label> <select class="editauf" name="uf"> <option value="<?php echo $row_igreja['id']; ?>"><?php echo $row_igreja['UF']; ?></option> <option value=""></option> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AP">AP</option> <option value="AM">AM</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MS">MS</option> <option value="MT">MT</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RS">RS</option> <option value="RO">RO</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SP">SP</option> <option value="SE">SE</option> <option value="TO">TO</option> </select> <label class="cep">CEP:</label> <input class="cep" type="text" name="cep" value="<?php echo $row_igreja['CEP']; ?>" > <label class="tel">Telefone:</label> <input class="tel" type="text" name="tel" value="<?php echo $row_igreja['Tel']; ?>" > <label class="tel2">Telefone (2):</label> <input class="tel2" type="text" name="tel2" value="<?php echo $row_igreja['Tel2']; ?>" > <label class="email">E-mail:</label> <input class="email" type="text" name="email" value="<?php echo $row_igreja['E-mail']; ?>" > <label class="site">Site:</label> <input class="site" type="text" name="site" value="<?php echo $row_igreja['Site']; ?>" > <label class="razsoc">Razão Social:</label> <input class="razsoc" type="text" name="razsoc" value="<?php echo $row_igreja['RazSoc']; ?>" > <label class="cnpj">CNPJ:</label> <input class="cnpj" type="text" name="cnpj" value="<?php echo $row_igreja['CNPJ']; ?>" > <label class="dtorg">Dt. Organização:</label> <input class="dtorg" type="text" name="dtorg" value="<?php echo date('d/m/Y', strtotime($row_igreja['DtOrg'])); ?>" > <label class="dtatualiza">Última Atualização:</label> <input class="dtatualiza" type="text" name="dtatualiza" value="<?php echo date('d/m/Y', strtotime($row_igreja['UltimaAtualiz'])); ?>" > <label class="obs">Obs:</label> <input class="obs" type="textarea" scrool="yes" name="obs" value="<?php echo $row_igreja['Obs']; ?>" > <?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 »</label> <input class="btn_edit" type="submit" name"salvar" value="SALVAR"> </form> </div> </body> </head> </html> Minha página proc_edit_igreja.php: <?php session_start(); if(!isset($_SESSION['id'])) { header("location: ../index.php"); exit; } include_once '../config.php'; if(isset($_POST)){ $id = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_STRING); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $tipo = filter_input(INPUT_POST, 'tipo', FILTER_SANITIZE_STRING); $rua = filter_input(INPUT_POST, 'rua', FILTER_SANITIZE_STRING); $numero = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_STRING); $complem = filter_input(INPUT_POST, 'complem', FILTER_SANITIZE_STRING); $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_STRING); $cidade = filter_input(INPUT_POST, 'cidade', FILTER_SANITIZE_STRING); $uf = filter_input(INPUT_POST, 'uf', FILTER_SANITIZE_STRING); $cep = filter_input(INPUT_POST, 'cep', FILTER_SANITIZE_STRING); $tel = filter_input(INPUT_POST, 'tel', FILTER_SANITIZE_STRING); $tel2 = filter_input(INPUT_POST, 'tel2', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING); $site = filter_input(INPUT_POST, 'site', FILTER_SANITIZE_STRING); $razsoc = filter_input(INPUT_POST, 'razsoc', FILTER_SANITIZE_STRING); $cnpj = filter_input(INPUT_POST, 'cnpj', FILTER_SANITIZE_STRING); $dtorg = filter_input(INPUT_POST, 'dtorg', FILTER_SANITIZE_STRING); $dtatualiza = filter_input(INPUT_POST, 'dtatualiza', FILTER_SANITIZE_STRING); $obs = filter_input(INPUT_POST, 'obs', FILTER_SANITIZE_STRING); if ( isset( $_FILES[ 'flImage' ][ 'name' ] ) && $_FILES[ 'flImage' ][ 'error' ] == 0 ) { $arquivo_tmp = $_FILES[ 'flImage' ][ 'tmp_name' ]; $nome = $_FILES[ 'flImage' ][ 'name' ]; $extensao = pathinfo ( $nome, PATHINFO_EXTENSION ); $extensao = strtolower ( $extensao ); if ( strstr ( '.jpg;.jpeg;.gif;.png', $extensao ) ) { $novoNome = uniqid ( time () ) . '.' . $extensao; $destino = 'photos/' . $novoNome; if ( @move_uploaded_file ( $arquivo_tmp, $destino ) ) { $foto_logo = "http://www.meusite/paginas/" . $destino; }else $foto_logo = ""; }else $foto_logo = ""; }else $foto_logo = ""; } $sql = "UPDATE CadIgreja SET Nome=?, tipo=?, EnderecoRua=?, Num=?, Compl=?, Bairro=?, Cidade=?, UF=?, CEP=?, Tel=?, Tel2=?, E-mail=?, Site=?, RazSoc=?, CNPJ=?, Obs=?, Logo=?, DtOrg=?, UltimaAtualiz=? WHERE IdIgreja=?"; $stmt= $pdo->prepare($sql); if($stmt->execute([$nome, $tipo, $rua, $numero, $complem, $bairro, $cidade, $uf, $cep, $tel, $tel2, $email, $site, $razsoc, $cnpj, $obs, $logo, $dtorg, $dtatualiza, $id])){ echo '<script> alert ("Registro atualizado com sucesso!"); location.href=("painel.php?igreja")</script>'; }else{ echo '<script> alert ("Houve um erro. Tente novamente!"); location.href=("painel.php?igreja_editar")</script>'; } ?>
-
Preview de imagem selecionada num input file com src já carregado
pergunta respondeu ao Edilson Santiago de Edilson Santiago em PHP
Perfeito, consegui resolver. Obrigado -
Preview de imagem selecionada num input file com src já carregado
uma questão postou Edilson Santiago PHP
No meu formulário de editar usuario, tenho um campo onde aparece a logomarca do usuário. A url da imagem está salva no banco de dados. Ao abrir a página, a imagem é preenchida automaticamente assim: <div class="logo" id="foto_logo" name="foto_logo"><img id="imgPhoto" src="<?php echo $logo_usuario ?>"</img> Pois bem, quero que o usuário, ao clicar no "input type file", possa selecionar uma nova imagem, para trocar essa. E quero que, antes de subir a imagem e gravar a url no banco de dados, essa nova imagem apareça no lugar do <?php echo $logo_usuario?>. O script ficou assim: <script type="text/javascript"> var foto_logo = document.getElementById('foto_logo'); foto_logo.addEventListener('change', function(e) { showThumbnail(this.files); }); function showThumbnail(files) { if (files && files[0]) { var reader = new FileReader(); reader.onload = function (e) { foto_logo.src = e.target.result; } reader.readAsDataURL(files[0]); } } Mas só que nada acontece. Quando seleciono a imagem, continua mostrando a que está gravada no BD. O que pode estar errado? -
Realmente, era só as aspas. Funcionou. Muito obrigado!
-
Olá, amigos, estou tentando uma "redefinição de senha", onde a página gera uma nova senha, envia essa senha por e-mail e em seguida faz update no banco de dados. Tá gerando a senha e enviando o email, mas não faz o update. Alguém pode ajudar? Segue meu código: <?php require_once '../conecta.php'; if(isset($_POST[ok])){ $email = ($_POST['email']); $sql = "SELECT * FROM usuarios WHERE email='$email'"; $result = mysqli_query($conn, $sql); $row = $result->fetch_assoc(); $total = count($row); if($total == 0){ echo '<script> alert ("Erro! E-mail não cadastrado.")</script>'; }else{ $novasenha = substr(sha1(time()), 0, 8); $nscriptografada = sha1(sha1($novasenha)); $to = $email; $subject = 'Nova Senha'; $message = "A nova senha é: $novasenha"; $headers = "MIME-Version: 1.1\r\n"; $headers .= "Content-type: text/plain; charset=UTF-8\r\n"; $headers .= "From: meuemail@dominio.com\r\n"; $headers .= "Return-Path: meuemail@dominio.com\r\n"; $envio = mail($to, $subject, $message, $headers); $sql = "UPDATE usuarios SET senha = $nscriptografada WHERE email = $email"; if ($conn->query($sql) === TRUE) { echo '<script> alert ("Sucesso")</script>'; } else { echo '<script> alert ("Erro. ")</script>'; } } } ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>SGI - PAINEL DE CONTROLE - ALTERAR SENHA</title> <link type="text/css" rel="stylesheet" media="screen" href="estilos.css" /> <script type="text/javascript" language="javascript"> function valida_form(){ if(document.getElementById("email").value == ""){ alert('Por favor, digite o E-mail do usuário!'); document.getElementById("email").focus(); return false } } </script> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">ESQUECI MINHA SENHA...</h2></font><br><br></div> <div id="form"> <form method="POST" action="" onsubmit="return valida_form(this)"> <label>Informe seu e-mail:</label><input value="<?php echo $_POST[email]; ?>" type="email" id="email" name="email" placeholder="Seu E-mail" maxlength="520"><br> <input type="submit" name="ok" value="SOLICITAR NOVA SENHA"><br> </form> </div> </body> </html>
-
Boa noite, amigos. Estou criando um sistema de login, com a funcionalidade de redefinir senha. Criei o formulário: <?php require_once '../classes/usuarios.php'; ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>SGI - PAINEL DE CONTROLE</title> <link type="text/css" rel="stylesheet" media="screen" href="estilos.css" /> <script type="text/javascript" language="javascript"> function valida_form(){ if(document.getElementById("email").value == ""){ alert('Por favor, digite o E-mail do usuário!'); document.getElementById("email").focus(); return false } } </script> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">ESQUECI MINHA SENHA...</h2></font><br><br></div> <div id="form"> <form method="POST" action="envia-nova-senha.php" onsubmit="return valida_form(this)"> <label>Informe seu e-mail:</label><input type="email" id="email" name="email" placeholder="E-mail" maxlength="520"><br> <input type="submit" name="postar" value="SOLICITAR"><br> </form> <?php ?> </div> </body> </head> </html> o arquivo "envia-nova-senha.php: <?php session_start(); //require_once "../config.php"; if(isset($_POST['postar'])){ if(empty(trim($_POST["email"]))){ header("location: redefine_password_usu.php"); }else{ $email = trim($_POST["email"]); $dsn = ("mysql:host=localhost;dbname="meu banco";charset=utf8"); $user = "meu usuario"; $pass = "minha senha"; $pdo = new PDO($dsn,$user,$pass); $sql = ("SELECT * FROM usuarios WHERE email='$email'"); $stm = $pdo->prepare($sql); $stm->execute(); $dados = $stm->fetchAll(PDO::FETCH_OBJ); foreach($dados as $reg): $id = $reg->id . ""; $nome = $reg->nome . ""; $senha = $reg->senha . ""; $mail = $reg->email . ""; $chave = sha1($id.$senha); endforeach; if($chave){ header("location: altera_senha.php?$chave"); $_SESSION['destinatario'] = $mail; $_SESSION['nome'] = $nome; }else{ echo '<script> alert ("E-mail não consta em nosso banco de dados. Por favor, entre em contato com o administrador do sistema."); location.href=("redefine_password_usu.php")</script>'; } } } ?> e o arquivo "altera_senha.php": <?php session_start(); $chave = $_SERVER['QUERY_STRING']; $value = $_SESSION['destinatario']; $name = $_SESSION['nome']; if (empty($chave)) { echo '<script> alert ("E-mail não consta em nosso banco de dados."); location.href=("redefine_password_usu.php")</script>'; } else { $nome = $name; $email = $value; $link_adress = 'http://meu_dominio/alterar_senha_usu.php?chave='.$chave.''; $to = $value; $subject = 'Redefinição de Senha - SGI'; $message = 'Olá. Esqueceu a sua senha? Tudo bem, acontece! Vamos te ajudar a redefinir. Clique no link '.$link_adress.' e redefina. Ah, uma coisinha importante: Para a sua segurança, este link só é válido por 2 horas. Após este tempo, você vai precisar fazer um novo pedido de redefinição, tudo bem?'; $headers = array( 'From' => 'webmaster@meu_dominio', 'Reply-To' => 'webmaster@meu_dominio', 'X-Mailer' => 'PHP/' . phpversion() ); mail($to, $subject, $message, $headers); } ?> Só que não envia o e-mail. O que poderia estar errado ou faltando?
-
o que está errado? Excluir com PHP PDO
pergunta respondeu ao Edilson Santiago de Edilson Santiago em PHP
Resolvi o problema, colocando a confirmação na página dos usuários: <a href=usu_excluir.php?<?php echo $row['id']?> onclick="javascript:return confirm('Atenção! O usuário <?php echo $row['nome']?> será excluído permanentemente. Você tem certeza disso?')" >Excluir</a> </td> E na página "usu_excluir.php", acrescentei: $u->conectar("meu banco de dados","localhost","meu usuario","minha senha"); if($u->msgErro == "") { $u->excluir($id); echo "registro excluído com sucesso. Você será redirecionado em 3 segundos..."; echo "<meta http-equiv=refresh content='3;URL=painel.php'>"; } else { header("location ../paginas/painel.php"); } Ficou meio que na gambiarra, mas foi o que deu, rsrs. -
o que está errado? Excluir com PHP PDO
pergunta respondeu ao Edilson Santiago de Edilson Santiago em PHP
Ok, esse é o código completo do usuarios.php: <?php Class Usuario { private $pdo; public $msgErro = ""; public function conectar($nome, $host, $usuario, $senha) { global $pdo; try { $dsn = 'mysql:host=' . $host . '; dbname=' . $nome; $options = [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8']; $pdo = new PDO($dsn, $usuario, $senha, $options); } catch(PDOException $e) { $msgErro = $e->getMessage(); } } public function cadastrar($nome, $email, $senha)//, $situacoe_id, $niveis_acesso_id, $created, $modified) { global $pdo; $sql = $pdo->prepare("SELECT id FROM usuarios WHERE email = :e"); $sql->bindValue(":e",$email); $sql->execute(); if($sql->rowCount() > 0) { return false; } else { $created = date('d/m/y'); $modified = date('d/m/y'); $sql = $pdo->prepare("INSERT INTO usuarios (nome, email, senha, situacoe_id, niveis_acesso_id, created, modified) VALUES (:y, :a, :p, :s, :n, :c, :m)"); $sql->bindValue(":y",$nome); $sql->bindValue(":a",$email); $sql->bindValue(":p",password_hash($senha, PASSWORD_BCRYPT,['cost=>12'])); $sql->bindValue(":s",1); $sql->bindValue(":n",1); $sql->bindValue(":c",$created); $sql->bindValue(":m",$modified); $sql->execute(); return true; } } public function excluir($id){ global $pdo; $sql = $pdo->prepare("DELETE FROM usuarios WHERE id = :e"); $sql->bindValue(":e",$id); $sql->execute(); return true; } public function logar($email, $senha) { global $pdo; $sql = $pdo->prepare("SELECT id FROM usuarios WHERE email = :a AND senha = :p"); $sql->bindValue(":a",$email); $sql->bindValue(":z",$senhacorreta); $sql->bindValue(":p",password_hash($senha, PASSWORD_BCRYPT,['cost=>12'])); if(password_verify(":z"==":p")){ $sql->execute(); if($sql->rowCount() > 0) { $dado = $sql->fetch(); session_start(); $_SESSION["id"] = $dado["id"]; return true; } else { return false; } } } } ?> E esse é o print da página de erro: Descobri que o problema está na confirmação. Eliminei o trecho if(confirm("Atenção. O Usuário será deletado.Tem certeza?")) { e deletou o registro. Contudo preciso dessa confirmação, e também que redirecione de volta para a página de registros depois da exclusão.