Jump to content
Fórum Script Brasil
  • 0

Campo Alterar Senha


Mateus Conti

Question

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 to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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>

Edited by Mateus Conti
Link to comment
Share on other 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.

Edited by eudeoliveira
Link to comment
Share on other 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 to comment
Share on other 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.

Edited by eudeoliveira
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...