C0Y073 0 Denunciar post Postado Julho 2, 2010 Olá pessoal sou novo em na Linguagem em PHP, bom estou utilizando um formulario de cadastro de usuario na internet ele funciona perfeito e tudo mais, mais o problema e que ele nao exibi um campo pro usuario inserir a senha dele no cadastro , bom isso eu ate que gostei , mais queria fazer o seguinte , quando o usuario loga-se na area dele tive-se um link clique aki para trocar sua senha bom fiz o link e o form com campo senha atual(pwSenha) novasenha(pwSenha2) e digite novamente a nova senha(pwSenha) ai ele clica no botao Trocar senha e puxa o allterar.php que troca a senha mais nao está funcioando alguem pode me ajudar ? ele exibi a msg de ok que a senha foi trocada , mais não troca a senha alterar.html <form name="form1" "POST" ACTION="allterarsenha.php?"> <table> <tr> <td width="200"><label for="nome" class="texto" style="width: 200px; border: solid 0px">Login:</label><BR> <input type="text" name="txLogin" style="form_campo"><BR><BR></td> </tr> <tr> <td width="200"><label for="senha" class="texto" style="width: 200px; border: solid 0px">Senha Atual:</label><BR> <input type="password" name="pwSenha" style="form_campo"><BR><BR></td> </tr> <tr> <td width="200"><label for="senha" class="texto" style="width: 200px; border: solid 0px">Nova Senha:</label><BR> <input type="password" name="pwSenha2" style="form_campo"><BR><BR></td> <td><label for="senha" class="texto" style="width: 300px; border: solid 0px">Confirma Nova Senha:</label><BR> <input type="password" name="pwSenha3" style="form_campo"><BR><BR></td> </tr> <tr valign="middle"> <td width="200"><input type="reset" name="cmdcomando1" value="Limpar" width="20%"> <INPUT type="submit" NAME="btnLogar" VALUE="ExecutaLogin"></td> </tr> </table> </form> allterar.php <?php $usuario = $_POST ["txLogin"]; $senhaOld = $_POST ["pwSenha"]; $senhaNew = $_POST ["pwSenha2"]; $confsenha = $_POST ["pwSenha3"]; $host = "xxxxxxxx"; $username = "xxxxxx"; $password = "xxxxx"; $bd = "xxxxxxx"; $conexao = @mysql_connect($host, $username, $password); $banco = @mysql_select_db($bd, $conexao); $select= "SELECT * FROM usuarios WHERE senha = encrypt('$senhaOld',senha) and usuario ='$usuario'"; $query = mysql_db_query($bd,$select,$conexao); if (!$query){ die ("Esse usuario não existe"); } else { $update= "UPDATE usuarios SET senha= encrypt('$confsenha') WHERE usuario ='$usuario'"; mysql_db_query($bd,$update,$conexao); } if (!$query){ die ("Problemas ao executar o SQL !!!"); } else { Echo "A execução do SQL foi bem sucedida !!!"; } if (!$query){ die ("Erro ao atualizar o banco"); } else { echo "A sua senha foi alterada com sucesso"; mysql_close($conexao); } ?> Bom baixe também esse form de alteração de senah da internet , não sei oque está errado que não está efetuando a troca função que gera a senha automatica e envia pro email do usuario que acabo de se cadastrar function makeRandomPassword(){ $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while($i <= 7){ $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $senha_randomica = makeRandomPassword(); $senha = md5($senha_randomica); uma img da estrutura da minha Table CODIGO DA AREA DO USUARIO QUANDO ELE LOGA <?php session_start(); include "functions.php"; Include "config.php"; session_checker(); echo "<p align='center' class='content'>Você está acessando uma área restrita somente para usuários cadastrados!</p>"; echo "<p align='center' class='content'> </p>"; echo "<p align='center' class='content'>Seja Bem Vindo <strong>". $_SESSION['nome'] ." ". $_SESSION['sobrenome'] ."</strong>, você está conectado! <a href=\"logout.php\">Sair</a></p>"; ?> echo "<p align='center' class='content'>TROQUE SUA SENHA NO FORMULARIO ABAIXO!</p>"; <?php include "alterar.html";?> // FORM PARA ALTERAÇÃO DE SENHA Compartilhar este post Link para o post Compartilhar em outros sites
felini 0 Denunciar post Postado Julho 2, 2010 Ve se isso ajuda: $query = mysql_query("SELECT * FROM <tabela> WHERE usuario='".$usuario."' AND senha='".$senhaOld."' LIMIT 1;"); $linhas = mysql_num_rows ($query); if ($linhas != 0){ $update = mysql_query("UPDATE <tabela> SET senha='".$senhaNew."' WHERE usuario='".$usuario."';"); if ($update){ echo "Senha alterada com sucesso."; } else { echo "Ocorreu um erro para alterar a senha"; } } Corrige o teu <form> coloca o method="POST". Fiz na pressa, é bom dar uma conferida! []s Compartilhar este post Link para o post Compartilhar em outros sites
C0Y073 0 Denunciar post Postado Julho 2, 2010 Ve se isso ajuda: $query = mysql_query("SELECT * FROM <tabela> WHERE usuario='".$usuario."' AND senha='".$senhaOld."' LIMIT 1;"); $linhas = mysql_num_rows ($query); if ($linhas != 0){ $update = mysql_query("UPDATE <tabela> SET senha='".$senhaNew."' WHERE usuario='".$usuario."';"); if ($update){ echo "Senha alterada com sucesso."; } else { echo "Ocorreu um erro para alterar a senha"; } } Corrige o teu <form> coloca o method="POST". Fiz na pressa, é bom dar uma conferida! []s Refiz o form no html pq eu vi que tinha erros la e editei o php , quando clico no botao alterar ele chama a pagina php e nao exibi nd e nao executa a função para troca a senha :S Compartilhar este post Link para o post Compartilhar em outros sites
C0Y073 0 Denunciar post Postado Julho 2, 2010 CONSEGUI DEPOIS DE MUITAS TENTATIVAS AQUI O CÓDIGO COMO FICOU <?php include "config.php"; $usuario = $_POST['txtLogin']; $senhaOld = $_POST['pwSenha']; $senhaNew = $_POST['pwSenha2']; $confsenha = $_POST['pwSenha3']; $encryptasenha = md5($senhaNew); $encyptasenahantiga = md5($senhaOld); // isso para confirmanualmente // consulta na tabela com while $sql = mysql_query("Select senha FROM usuarios WHERE usuario = '".$usuario."'") or die('Erro: ' . mysql_error()); $result= mysql_query($sql);?> <? while ($linha = mysql_fetch_array($sql)){ $senhadobanco = $linha["senha"]; ?> <? } //fim while ?> <?php if (($senhaNew) AND ($confsenha) == "" ){ echo "Insira a nova senha!"; }else{ if ($encyptasenahantiga<>$senhadobanco){ echo "Senha Atual Não Confere!"; }else{ if ($senhaNew<>$confsenha){ echo "Campos da nova senha não conferem!"; }else{ $update = mysql_query("UPDATE usuarios SET senha='".$encryptasenha."' WHERE usuario='".$usuario."';"); if ($update){ echo "<br> Senha alterada com sucesso."; } else { echo "<br>Ocorreu um erro para alterar a senha"; } } } } ?> Compartilhar este post Link para o post Compartilhar em outros sites