Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AspAL

Alterar senha do usuário

Recommended Posts

Aê galera, espero que alguém possa me ajudar!!!

Estou tendo problemas para conseguir finalizar um código para o próprio usuário alterar a sua senha no banco de dados. O código está funcionando 90% correto, mas está tendo um problema.

 

Primeiro, o usuário digita a senha q está cadastrada no banco de dados, e em seguida digita a nova senha (isso em um form em outra página). Envia pra esse código, e o código abaixo faz o seguinte:

 

1- Cria uma conexão com o banco de dados;

2- Verifica se a senha antiga cadastrada no banco, é a mesma que o usuário digitou no campo "Senha Antiga";

3- Se a senha for igual, então ele vai cadastrar a senha nova no lugar da antiga, e é aí onde acontece o problema... :angry:

 

Ou o código não consegue substituir a senha nova no lugar da antiga, ou ele acaba inserindo a nova senha em uma nova linha no banco de dados. Alguém consegue resolver esse problema? O que modificar no código, e como ele ficaria?

 

Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Abraços!!

 

ps. Se alguém tiver um código que crie uma conexão com um banco de dados, e em seguida possa substituir a senha, e puder enviar pro meu e-mail, eu ficaria grato!

 

 

===================================

<%

DIM CONEXAO, RSTABELA, SQL

SET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION")

CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("/login/bdrgal.mdb")

SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela")

 

SENHABD=RSTABELA("senha")

 

ON ERROR RESUME NEXT

 

SENHAANTIGA = SERVER.HTMLENCODE(REQUEST("tx_senhaantiga"))

SENHANOVA = SERVER.HTMLENCODE(REQUEST("tx_senhanova"))

 

IF (SENHAANTIGA=SENHABD) THEN

SQL = "UPDATE Tabela set(senha)=" & TRIM(SENHANOVA)

 

CONEXAO.EXECUTE(SQL)

ELSE

RESPONSE.WRITE "SENHAS NÃO CONFEREM"

END IF

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas só a senha dele no banco de dados ? ou há mais usuarios ?

 

<%DIM CONEXAO, RSTABELA, SQLSET CONEXAO = SERVER.CREATEOBJECT("ADODB.CONNECTION")CONEXAO.OPEN "PROVIDER = MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & SERVER.MAPPATH("/login/bdrgal.mdb")SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela")SENHABD = RSTABELA("senha")SENHAANTIGA = SERVER.HTMLENCODE(REQUEST("tx_senhaantiga"))SENHANOVA = SERVER.HTMLENCODE(REQUEST("tx_senhanova"))IF SENHAANTIGA = SENHABD THENCONEXAO.EXECUTE("UPDATE Tabela set senha=" & TRIM(SENHANOVA))ELSERESPONSE.WRITE "SENHAS NÃO CONFEREM"END IF %>

tenta assim tiro o on error, pq ele faz NÃO mostrar erro, ou seja, você não sabe oue pode estar acontecendo =)

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá, quais campos na sua Tabela. Eu usaria um campo de autonumerador para identificar o registro que você quer alterar e o acrescentaria nas sql de consulta e atualização.SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela WHERE ID = 1")e depois eu mudaria a sql de update para:CONEXAO.Execute("UPDATE Tabela SET senha ='" & TRIM(SENHANOVA) "' WHERE ID';")Deve funcionar. Espero ter ajudado.Dalton Tavaresdalton@codigotecnologia.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá, quais campos na sua Tabela. Eu usaria um campo de autonumerador para identificar o registro que você quer alterar e o acrescentaria nas sql de consulta e atualização.SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela WHERE ID = 1")e depois eu mudaria a sql de update para:CONEXAO.Execute("UPDATE Tabela SET senha ='" & TRIM(SENHANOVA) "' WHERE ID';")Deve funcionar. Espero ter ajudado.Dalton Tavaresdalton@codigotecnologia.com

na minha tabela tem os campos LOGIN, SENHA, USER. Criei o campo ID tb agr. Qnd você colocou "WHERE ID = 1" então você já atribuiu ao ID o valor 1, foi isso? e se o user tiver o valor de ID = 5, por ex? Help-me!fiz as tentativas com as dicas, mas nenhuma funcionou até agr...!Acho q com o esquema do ID funciona, pq ele aponta direto no usuário. Mas como ficaria o código final?! VLW!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho melhor, você aprender um pouco de request antes de ir direto pro banco de dados...rsssnessas horas, você faria um request com o ID, que seria diferente e o colocaria no WHERE...exemploid = request("id")SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela WHERE ID =" & id)sendo que ai é dinamico, a id pode vir qualquer valor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo cara na hora que o cara fizer login pega um Session e joga o id do cara cadastrado no bd (poem como autonumeração o campo id, pois só serve para pesquisa), daí na hora do select,update você usa essa Session:

 

ASP [/tr][tr]

SET RSTABELA = CONEXAO.EXECUTE ("SELECT * FROM Tabela where id=" & Session("user_id"))

...

SQL = "UPDATE Tabela set senha='" & TRIM(SENHANOVA) & "' where id=" & Session("user_id")

[/tr]
Valeu meu véi!!! Funcionou legalllllll! ;) Abraços a tds!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.