Ir para conteúdo
Fórum Script Brasil
  • 0

Campo Alterar Senha


Mateus Conti

Pergunta

Boa tarde, eu já criei um sistema de cadastro todo completo agora eu gostaria de ter um campo onde o usuario possa trocar sua senha antiga por uma nova

Não só a senha como email dados e etc...

Se alguém puder me ajudar eu agradeço, eu não sei se preciso mandar o codigo do meu php , mais se for preciso eu mando

No caso alguém poderia me enviar um codigo com as conexções e variavel "$aqui_vai_variavel"

Obrigado

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Basta fazer um SELECT com base em algum paremetro exemplo a usuario e senha antiga, se estiver correto (existir algum registro com aquele usuario e senha) pega o valor do campo nova senha e faz um UPDATE com o novo valor, do contrario informe ao usuario que a senha antiga não e valida.

Link para o comentário
Compartilhar em outros sites

  • 0
Basta fazer um SELECT com base em algum paremetro exemplo a usuario e senha antiga, se estiver correto (existir algum registro com aquele usuario e senha) pega o valor do campo nova senha e faz um UPDATE com o novo valor, do contrario informe ao usuario que a senha antiga não e valida.

voce pode me mandar isso em php

Link para o comentário
Compartilhar em outros sites

  • 0

bom segue abaixo o codigo ai basta implementar de acordo com sua necessidade:

$VerificaUser = mysql_query("SELECT * FROM nome_da_sua_tabela WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]'");

if(mysql_num_rows($VerificaUser) == 1){
   $AlteraSenha = mysql_query("UPDATE nome_da_sua_tabela SET senha='$_POST[nova_senha]' WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]' ");
}else{
   print "<script>alert('Usuario ou senha incorreto!');</script>";

}

Espero que tenha ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
bom segue abaixo o codigo ai basta implementar de acordo com sua necessidade:

$VerificaUser = mysql_query("SELECT * FROM nome_da_sua_tabela WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]'");

if(mysql_num_rows($VerificaUser) == 1){
   $AlteraSenha = mysql_query("UPDATE nome_da_sua_tabela SET senha='$_POST[nova_senha]' WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]' ");
}else{
   print "&lt;script>alert('Usuario ou senha incorreto!');</script>";

}

Espero que tenha ajudado.

deu o seguinte erro

Notice: Undefined index: login in C:\xampp\htdocs\weylife\Perfil\Alterar_dados.php on line 11

Notice: Undefined index: senha_anterior in C:\xampp\htdocs\weylife\Perfil\Alterar_dados.php on line 11

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\weylife\Perfil\Alterar_dados.php on line 13

Da uma olhada no que tem de errado... deixa eu te passar minha tabela chama 'usuarios' banco de dado 'nivel_acesso'

<?php

$VerificaUser = mysql_query("SELECT * FROM usuarios WHERE login='$_POST[login]' AND senha=$_POST[senha_anterior]'");

if(mysql_num_rows($VerificaUser) == 1)

{

$AlteraSenha = mysql_query("UPDATE usuarios SET senha='$_POST[nova_senha]' WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]' ");

$login = $_POST['login];

$senha = $_POST['senha_alterior'];

$nova_senha = $_POST['nova_senha'];

}else{

print "<script>alert('Usuario ou senha incorreto!');</script>";

}

?>

<table width="49%" border="0">

<tr>

<td width="37%">Login</td>

<td width="63%"><form id="form1" name="form1" method="post" action="">

<label>

<input type="text" name="login" id="login" />

</label>

</form></td>

</tr>

<tr>

<td>Senha Alterior</td>

<td><form id="form2" name="form2" method="post" action="">

<label>

<input type="password" name="senha_alterior" id="senha_alterior" />

</label>

</form></td>

</tr>

<tr>

<td>Nova Senha</td>

<td><form id="form3" name="form3" method="post" action="">

<label>

<input type="password" name="nova_senha" id="nova_senha" />

</label>

</form></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><form id="form4" name="form4" method="post" action="">

<input type="submit" name="Alterar" id="Alterar" value="Submit" />

</form></td>

</tr>

</table>

Link para o comentário
Compartilhar em outros sites

  • 0

Mateus tenta assim:

<?php
/*

SUA CONEXÂO COM O BANCO DE DADOS

*/

if(isset($_POST[Alterar])){
    $VerificaUser = mysql_query("SELECT * FROM usuarios WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]'");
    if(mysql_num_rows($VerificaUser) == 1){
        $AlteraSenha = mysql_query("UPDATE usuarios SET senha='$_POST[nova_senha]' WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]' ");
        $login = $_POST['login'];
        $senha = $_POST['senha_alterior'];
        $nova_senha = $_POST['nova_senha'];
    }else{
        print "<script>alert('Usuario ou senha incorreto!');</script>";
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
</head>
<body>
<table width="49%" border="0">
<tr>
<td width="37%">Login</td>
<td width="63%"><form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="login" id="login" />
</label>
</form></td>
</tr>
<tr>
<td>Senha Alterior</td>
<td><form id="form2" name="form2" method="post" action="">
<label>
<input type="password" name="senha_alterior" id="senha_alterior" />
</label>
</form></td>
</tr>
<tr>
<td>Nova Senha</td>
<td><form id="form3" name="form3" method="post" action="">
<label>
<input type="password" name="nova_senha" id="nova_senha" />
</label>
</form></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><form id="form4" name="form4" method="post" action="">
<input type="submit" name="Alterar" id="Alterar" value="Submit" />
</form></td>
</tr>
</table> 
</body>
</html>

Os SELECTS e verificações só vão ser acionadas apos o click do botao Alterar.

Qualquer coisa estamos ai.

Link para o comentário
Compartilhar em outros sites

  • 0
tranquilo precisando estamos ai..

Bom cara to em casa e tipw funcionou tudo certo só que ta sem ação, meu login no banco de dados continua o mesmo

Ahh mais uma coisinha você esqueceu de colokar as '' (aspas) la no php no campo Alterar, tava só isso errado só que não sei não funcinou ve se você consegue inchergar o erro..

Ahh informação, não sei se vai mudar coisa, as tabelas do meu banco de dados " usuarios " é usu_id, usu_nome, usu_sobrenome, usu_sexo, usu_pais, usu_estado, usu_cidade, usu_email, usu_login e usu_senha.

Ta vendo tem os campos usu_login e usu_senha, que são os que contem o login e senha

<?php
/*

SUA CONEXÂO COM O BANCO DE DADOS

*/

if(isset($_POST['Alterar'])){
    $VerificaUser = mysql_query("SELECT * FROM usuarios WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]'");
    if(mysql_num_rows($VerificaUser) == 1){
        $AlteraSenha = mysql_query("UPDATE usuarios SET senha='$_POST[nova_senha]' WHERE login='$_POST[login]' AND senha='$_POST[senha_anterior]' ");
        $login = $_POST['login'];
        $senha = $_POST['senha_alterior'];
        $nova_senha = $_POST['nova_senha'];
    }else{
        print "<script>alert('Usuario ou senha incorreto!');</script>";
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
</head>
<body>
<table width="49%" border="0">
<tr>
<td width="37%">Login</td>
<td width="63%"><form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="login" id="login" />
</label>
</form></td>
</tr>
<tr>
<td>Senha Alterior</td>
<td><form id="form2" name="form2" method="post" action="">
<label>
<input type="password" name="senha_alterior" id="senha_alterior" />
</label>
</form></td>
</tr>
<tr>
<td>Nova Senha</td>
<td><form id="form3" name="form3" method="post" action="">
<label>
<input type="password" name="nova_senha" id="nova_senha" />
</label>
</form></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><form id="form4" name="form4" method="post" action="">
<input type="submit" name="Alterar" id="Alterar" value="Submit" />
</form></td>
</tr>
</table> 
</body>
</html>

Editado por Mateus Conti
Link para o comentário
Compartilhar em outros sites

  • 0

Sim muda todo o SELECT e o UPDATE.

seus campos usu_login e usu_senha

<?php
/*

SUA CONEXÂO COM O BANCO DE DADOS

*/

if(isset($_POST['Alterar'])){
    $VerificaUser = mysql_query("SELECT * FROM usuarios WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]'");
    if(!$VerificaUser){ // Verifica se houve algum erro de MYSQL na variavel $VerificaUser
       print "Falha na verificação de Usuário ".mysql_error();
       exit;
    }
    if(mysql_num_rows($VerificaUser) == 1){
        $AlteraSenha = mysql_query("UPDATE usuarios SET usu_senha='$_POST[nova_senha]' WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]' ");
        if(!$AlteraSenha ){ // Verifica se houve algum erro de MYSQL na variavel $AlteraSenha
          print "Falha na alteração de senha ".mysql_error();
          exit;
        }
        $login = $_POST['login'];
        $senha = $_POST['senha_alterior'];
        $nova_senha = $_POST['nova_senha'];
    }else{
        print "<script>alert('Usuario ou senha incorreto!');</script>";
    }
}
?>

Testa ai acho que agora não vai ter problemas.

Editado por eudeoliveira
Link para o comentário
Compartilhar em outros sites

  • 0

Cara não foi não...

eu entrei com o meu usuario mesmo que eu criei ai na hora da alteração ele tipw não acontese nada quando eu clico no botao ele simplesmente so zera os valores porem não aparece nem um erro,

sera q tem q criar alguma tabela de alteraraçao de senha

pow olha tirei um print das minhas tabela ve ai

http://imageshack.us/photo/my-images/607/semttuloqht.png/

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta com esse codigo caso ele entre no if e faça o update vai dar o alerta de senha alterada.

<?php
/*

SUA CONEXÂO COM O BANCO DE DADOS

*/

if(isset($_POST['Alterar'])){
    $VerificaUser = mysql_query("SELECT * FROM usuarios WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]'");
    if(!$VerificaUser){ // Verifica se houve algum erro de MYSQL na variavel $VerificaUser
       print "Falha na verificação de Usuário ".mysql_error();
       exit;
    }
    if(mysql_num_rows($VerificaUser) == 1){
        $AlteraSenha = mysql_query("UPDATE usuarios SET usu_senha='$_POST[nova_senha]' WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]' ");
        if(!$AlteraSenha ){ // Verifica se houve algum erro de MYSQL na variavel $AlteraSenha
          print "Falha na alteração de senha ".mysql_error();
          exit;
        }else{
          $login = $_POST['login'];
          $senha = $_POST['senha_alterior'];
          $nova_senha = $_POST['nova_senha'];
          print "<script>alert('Senha alterada com sucesso!');</script>";
        }
    }else{
        print "<script>alert('Usuario ou senha incorreto!');</script>";
    }
}
?>

Faça uma teste cadastre pelo Phpmyadmin um usuario teste com senha teste, na hora de fazer a alteração coloque o usuario teste a senha anterior teste e troque por 123 via pagina que você criou, depois verificar no banco se a senha esta como 123.

Editado por eudeoliveira
Link para o comentário
Compartilhar em outros sites

  • 0
Tenta com esse codigo caso ele entre no if e faça o update vai dar o alerta de senha alterada.

<?php
/*

SUA CONEXÂO COM O BANCO DE DADOS

*/

if(isset($_POST['Alterar'])){
    $VerificaUser = mysql_query("SELECT * FROM usuarios WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]'");
    if(!$VerificaUser){ // Verifica se houve algum erro de MYSQL na variavel $VerificaUser
       print "Falha na verificação de Usuário ".mysql_error();
       exit;
    }
    if(mysql_num_rows($VerificaUser) == 1){
        $AlteraSenha = mysql_query("UPDATE usuarios SET usu_senha='$_POST[nova_senha]' WHERE usu_login='$_POST[login]' AND usu_senha='$_POST[senha_anterior]' ");
        if(!$AlteraSenha ){ // Verifica se houve algum erro de MYSQL na variavel $AlteraSenha
          print "Falha na alteração de senha ".mysql_error();
          exit;
        }else{
          $login = $_POST['login'];
          $senha = $_POST['senha_alterior'];
          $nova_senha = $_POST['nova_senha'];
          print "&lt;script>alert('Senha alterada com sucesso!');</script>";
        }
    }else{
        print "&lt;script>alert('Usuario ou senha incorreto!');</script>";
    }
}
?>

Faça uma teste cadastre pelo Phpmyadmin um usuario teste com senha teste, na hora de fazer a alteração coloque o usuario teste a senha anterior teste e troque por 123 via pagina que você criou, depois verificar no banco se a senha esta como 123.

não ta indo... me adiciona no MSN, se você tiver TeamView ai você mesmo olha o que ta acontesendo...

mateus_conti@hotmail.com

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...