Ir para conteúdo

POWERED BY:

Arquivado

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

rluiz1708

[Resolvido] Comparar value text field com SQL

Recommended Posts

Pessoal,

 

Estou fazendo uma página onde atualiza os dados do usuário, como a senha. Mas para que a senha seja alterada (a senha digitada no text field), é preciso que seja igual a que já está cadastrada no banco SQL.

Queria saber se alguém podia me ajudar. Já fiz mas, mesmo digitando a senha igual a que está no banco, dá a mensagem de erro de que as senhas não conferem.

Segue o código:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<!-- #include file = "funcoes.asp" -->
<%

dim rs, conexao, login, email, SenhaAntiga, SenhaNova, SQLatualiza, Bloqueado, SQLverifica

'Declaração de variáveis que recebe o valor das caixas de texto e da checkbox
login= Trim(request("txtlogin"))
email= Trim(request("txtemail"))
SenhaAntiga= request("txtsenhaantiga")
SenhaNova= request("txtsenhanova")
Bloqueado= request("checkboxbloqueado")


'Varre todo o banco
SQLverifica= "select * from SISTEMA"

'Comando SQL que atualiza o banco de dados
SQLatualiza= "Update SISTEMA set SenhaAdm= '"&SenhaNova&"', Bloqueado= "&Bloqueado&" WHERE Email = '"&email&"'"


'Chama a conexão com o banco de dados
call abre_conexao



'Executa o comando SQL que varre o banco
set rs= conexao.Execute(SQLverifica)

'Verifica se a senha antiga digitada é igual a que está cadastrada no banco de dados
if SenhaAntiga = rs("SenhaAdm")  then
	set rs= conexao.Execute(SQLatualiza)

	'Mensagem em HTML de que senha/bloqueio do administrador foi alterado com sucesso
%>

			<html>
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			</head>
			<body style="background-color:#feffef; font-family:Arial;font-size:12px;" >
			<center>
			<br/><br/><br/><br/>
			<img src="images/icone_ok.png" width="32" height="32" /> <br/><br/>
			<font face="Arial" color="#cf0800" size="2"> <strong> Dados alterados com sucesso. </strong> </font>
			</center>
			</body>
			</html>
		
			<!-- Redireciona para a página de sistema (em 3 segundos) após mostrar a mensagem -->
			<meta http-equiv="refresh" content="3; url=sistema.asp">
			
<%
	'Se a senha antiga digitada for diferente da cadastrada no banco de dados
	else if SenhaAntiga <> rs("SenhaAdm") then %>
	
		<html>
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			</head>
			<body style="background-color:#feffef; font-family:Arial;font-size:12px;" >
			<center>
			<br/><br/><br/><br/>
			<img src="images/icone_alerta.png" width="32" height="32" /> <br/><br/>
			<font face="Arial" color="#cf0800" size="2"> <strong> A senha antiga digitada está incorreta. </strong> </font>
			</center>
			</body>
			</html>
			
			<!-- Redireciona para a página de sistema (em 3 segundos) após mostrar a mensagem -->
			<meta http-equiv="refresh" content="3; url=sistema.asp">
	
	<%
	end if
	end if
	set rs = nothing 'Destrói o Objeto
	
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara mais você esta mandando trocar a senha antes de verificar se é a mesmo ou não,

 

Repare na linha 21 do seu code, lá tem este comando

 

SQLatualiza= "Update SISTEMA set SenhaAdm= '"&SenhaNova&"', Bloqueado= "&Bloqueado&" WHERE Email = '"&email&"'"

com isto a senha é trocada antes da verificação, ela devia ser trocada depois da verificação, dai se fosse igual trocava e se não fosse não trocava da atual maneira o sistema troca sem saber se é igual e diferente com isto na hora da verificação não vai bater mesmo pois ela foi trocada.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Baseado no que você me respondeu e no que pesquisei sobre como pegar valor de checkbox, consegui resolver o problema e deixar toda a página funcionando.

Segue o código.

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<!-- #include file = "funcoes.asp" -->
<%

dim rs, conexao, login, email, SenhaAntiga, SenhaNova, SQLatualiza, Bloqueado, SQLverifica

'Declaração de variáveis que recebe o valor das caixas de texto e da checkbox
login= Trim(request("txtlogin"))
email= Trim(request("txtemail"))
SenhaAntiga= request("txtsenhaantiga")
SenhaNova= request("txtsenhanova")
Bloqueado= request("checkboxbloqueado")


'Varre todo o banco
SQLverifica= "select * from SISTEMA where Email ='"&email&"'"


'Chama a conexão com o banco de dados
call abre_conexao


'Executa o comando SQL que varre o banco
set rs= conexao.Execute(SQLverifica)


'Verifica se a senha antiga digitada é igual a que está cadastrada no banco de dados
if SenhaAntiga = rs("SenhaAdm")  then
	
	'Comando SQL que atualiza o banco de dados
	SQLatualiza= "Update SISTEMA set SenhaAdm= '"&SenhaNova&"', Bloqueado= '"&Bloqueado&"' WHERE Email='"&email&"'"
	set rs= conexao.Execute(SQLatualiza)

	'Mensagem em HTML de que senha/bloqueio do administrador foi alterado com sucesso
%>

			<html>
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			</head>
			<body style="background-color:#feffef; font-family:Arial;font-size:12px;" >
			<center>
			<br/><br/><br/><br/>
			<img src="images/icone_ok.png" width="32" height="32" /> <br/><br/>
			<font face="Arial" color="#cf0800" size="2"> <strong> Dados alterados com sucesso. </strong> </font>
			</center>
			</body>
			</html>
			
			
			<!-- Redireciona para a página de sistema (em 3 segundos) após mostrar a mensagem -->
			<meta http-equiv="refresh" content="3; url=sistema.asp">
			
<%
	'Se a senha antiga digitada for diferente da cadastrada no banco de dados
	else if SenhaAntiga <> rs("SenhaAdm") then %>
	
		<html>
			<head>
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			</head>
			<body style="background-color:#feffef; font-family:Arial;font-size:12px;" >
			<center>
			<br/><br/><br/><br/>
			<img src="images/icone_alerta.png" width="32" height="32" /> <br/><br/>
			<font face="Arial" color="#cf0800" size="2"> <strong> A senha antiga digitada está incorreta. </strong> </font>
			</center>
			</body>
			</html>
			
			<!-- Redireciona para a página de sistema (em 3 segundos) após mostrar a mensagem -->
			<meta http-equiv="refresh" content="3; url=sistema.asp">
	
	<%
	end if
	end if
	set rs = nothing 'Destrói o Objeto
	
%>

Oobrigado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.