• 0
Sign in to follow this  
Guest - Marcos -

Alterar Senha

Question

Guest - Marcos -

Olá! Sou iniciante em ASP.

Eu criei um sistema de login, queria saber como faz para, após o usuario estar logador, poder trocar a sua senha.

Desde já agradecido.

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Monte o formulario, faça a consulta ao BD e nos value dos input text, atribua o valor do BD dos respectivos campos.

Depois que submeter o formulário, faça rotina de UPDATE, que pode ser em um arquivo separado

Share this post


Link to post
Share on other sites
  • 0
Guest - marcos -
Monte o formulario, faça a consulta ao BD e nos value dos input text, atribua o valor do BD dos respectivos campos.

Depois que submeter o formulário, faça rotina de UPDATE, que pode ser em um arquivo separado

desculpe a minha ignorância, mas como faz a rotina update

Obrigado

Share this post


Link to post
Share on other sites
  • 0

Um exemplo simples, para você adaptar:

<% 
' A session do ID do usuario deve ser criada no arquivo de autenticação
id_usuario = session("id_usuario")


if request.form("alterar") = "" then
%>
<form method="post" action="pagina.asp">
Login: <input type="text" name="login" value="<%= login %>"><br>
Nova senha: <input type="password" name="senha"><br>
<input type="submit" name="alterar" value="Alterar">

<% 
else
login = request.form("login")
senha = request.form("senha")

sql_edita = "UPDATE TABELA set login = '" & login & "', senha = '"& senha &"' where id_usuario = "& id_usuario
set tab_edita = conexao.execute(sql_edita)

end if
%>

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
Um exemplo simples, para você adaptar:

<% 
' A session do ID do usuario deve ser criada no arquivo de autenticação
id_usuario = session("id_usuario")


if request.form("alterar") = "" then
%>
<form method="post" action="pagina.asp">
Login: <input type="text" name="login" value="<%= login %>"><br>
Nova senha: <input type="password" name="senha"><br>
<input type="submit" name="alterar" value="Alterar">

<% 
else
login = request.form("login")
senha = request.form("senha")

sql_edita = "UPDATE TABELA set login = '" & login & "', senha = '"& senha &"' where id_usuario = "& id_usuario
set tab_edita = conexao.execute(sql_edita)

end if
%>

obrigado pela ajuda.

Estou com um problema, como eu crio o session ID?

Desculpe estar incomonando é que realmente sou muito iniciante.

Muito obrigado.

Share this post


Link to post
Share on other sites
  • 0

No arquivo que faz o login, após a autenticação do usuario, você cria a session("id"). Porém essa ID deve vir de seu BD, pegue um campo da tabela onde tem os usuários que seja a chave primária.

um exemplo:

id_usuario = session("id_usuario")

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
No arquivo que faz o login, após a autenticação do usuario, você cria a session("id"). Porém essa ID deve vir de seu BD, pegue um campo da tabela onde tem os usuários que seja a chave primária.

um exemplo:

id_usuario = session("id_usuario")

valeu pela ajuda mas ta dificil de eu consegui acertar aqui... Será que você não tem um script pronto, ou não sabe onde tem para baixar?

Obrigado

Share this post


Link to post
Share on other sites
  • 0

A parte de edição você conseguiu?

Para criar a session da ID, poste o código do arquivo onde faz a autenticação, que te mostro onde criar

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
A parte de edição você conseguiu?

Para criar a session da ID, poste o código do arquivo onde faz a autenticação, que te mostro onde criar

É que eu to meio perdido, a autenticação do login é essa:

<%
Dim login,senha,conexao,constr,rs
login = request.Form("login")
senha = request.Form("senha")

set conexao = createobject("AdoDb.connection")
constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("C:/coliseu server/t4c.mdb")
conexao.open constr

set rs = conexao.execute("SELECT * FROM T4Cusers WHERE Account='"&login&"' AND Password='"&senha&"'")

login = session("account")

if rs.eof then
response.Redirect("errou.asp")
else

response.Cookies("account")=login
response.Cookies("senha")=senha
response.cookies("logado").expires="31/12/2010"

response.Redirect ""& ("cookie.asp")
end if
%>

Obrigado

Share this post


Link to post
Share on other sites
  • 0

Está gravando por cookies, então para aproveitar, pode ser feito assim na edição (sem alterar o arquivo de autenticação):

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -

Olá!

Eu fiz assim, o usuario loga-se no site, aí vai para a pagina cookie.asp, que é esta:

<%

if request.Cookies("logado")="" then %>
<!--#include file="index.asp"-->
<% 
else %>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
If Request("HTTP_REFERER") = "" Then 
 response.Redirect("errou.asp")
 Response.End
End If

account = request.Cookies("account")


response.Write("Bem-Vindo "&account)





end if %>
<br><br>



<br><br>
<br><br>
</body>
</html>

<% 
if request.form("alterar") = "" then
%>
<form method="post" action="cookie.asp">
Login: <input type="text" name="login" value="<%= login %>" size="20"><br>
Nova senha: <input type="password" name="senha" size="20"><br>
<input type="submit" name="alterar" value="Alterar">

<% 
else
login = request.form("login")
senha = request.form("senha")

sql_edita = "UPDATE T4Cusers set login = '" & login & "', senha = '"& senha &"' where login = '"& request.cookies("account") &"' and senha = '"& request.cookies("senha") &"'"
set tab_edita = conexao.execute(sql_edita)

end if
%>

<br><br>
<a href="logout.asp">Logout </a>

Como pode ver, eu coloquei o form para trocar a senha nesa página, só que quando eu clico em alterar, aparece o seguinte erro:

Script error detected at line 73.

Source line: set tab_edita = conexao.execute(sql_edita)

Description: Objeto necessário: 'conexao'

Obrigado

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
você tem que fazer a conexão com o banco de dados antes do select...

Fazer a conexão nessa página cookie?

Eu diz isso

<%

if request.Cookies("logado")="" then %>
<!--#include file="index.asp"-->
<% 
else %>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
If Request("HTTP_REFERER") = "" Then 
 response.Redirect("errou.asp")
 Response.End
End If

account = request.Cookies("account")
account = request.Cookies("senha")



end if %>

[COLOR=red]<%set conexao = createobject("AdoDb.connection")
constr = "Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.MapPath("C:/coliseu server/t4c.mdb")
conexao.open constr%>[/COLOR]
<br><br>



<br><br>
<br><br>
</body>
</html>
<%response.Write("Bem-Vindo "&account)%>
<% 
if request.form("alterar") = "" then
%>
<form method="post" action="cookie.asp">
Login: <input type="text" name="login" value="<%= login %>" size="20"><br>
Nova senha: <input type="password" name="senha" size="20"><br>
<input type="submit" name="alterar" value="Alterar">
<%response.Write("Sua senha é "&senha)%>
<% 
else
login = request.form("login")
senha = request.form("senha")

sql_edita = "UPDATE T4Cusers set login = '" & login & "', senha = '"& senha &"' where login = '"& request.cookies("account") &"' and senha = '"& request.cookies("senha") &"'"
set tab_edita = conexao.execute(sql_edita)

end if
%>

<br><br>
<a href="logout.asp">Logout </a>

E deu esse erro:

Script error detected at line 75.

Source line: set tab_edita = conexao.execute(sql_edita)

Description: [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

Muito obrigado.

Share this post


Link to post
Share on other sites
  • 0

Primeiro, altere as linhas:

onde era:

account = request.Cookies("senha")
para:
senha = request.Cookies("senha")
onde era:
Login: <input type="text" name="login" value="<%= login %>" size="20"><br>
para:
Login: <input type="text" name="login" value="<%= account %>" size="20"><br>
Segundo, quando você abre essa página, o campo de login vem com o nome já na caixa de texto ou vem vazia? Terceiro, você está usando Server MapPath e colocando o caminho fisico, SE você tem os arquivos na pasta C:/coliseu server/ então não precisa especificar o caminho é só deixar:
server.MapPath("t4c.mdb")

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -

Obrigado, fiz as alterações, mas o erro continua o mesmo.

Quando eu abro a pagina o campo login vem vazio.

Eu uso o c:/coliseu server por que o bando de dados fica nessa pasta e o formulario em outra.

Obrigado.

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -

Desculpe falei errado no post acima, no campo de login da pagina de troca senha, aparece sim o account e não fica vazio

Share this post


Link to post
Share on other sites
  • 0

Acredito que não seja, mas confira o tipo de dados no seu BD, account e senha tem que ser texto..

Mas não sei mais o que pode ser pois aqui testei e funcionou.

ps.: se registre no fórum wink.gif

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
Acredito que não seja, mas confira o tipo de dados no seu BD, account e senha tem que ser texto..

Mas não sei mais o que pode ser pois aqui testei e funcionou.

ps.: se registre no fórum wink.gif

Olá!

Como eu vejo se está em formato de texto? Acredito que esteja, não sei se tem haver, mas o sistema de cadastrar dados através de um formulario funciona

obs: outra hora me registro, tenho que criar um e-mail ainda hehe

Share this post


Link to post
Share on other sites
  • 0

Esse erro:

Description: [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

é porque no Banco de dados você tem na tabela T4Cusers os campos Account e Password, mas no código você chama as tabelas login e senha... ou seja, não existem esses campos na tabela, por isso dá esse erro.

Altere onde está em negrito:

Login:

<input type="text" name="nlogin" value="<%= account %>" " size="20" size="20"><br>

Nova senha: <input type="password" name="nsenha" size="20"><br>

<input type="submit" name="alterar" value="Alterar">

<%

else

login = request.form("login")

sql_edita = "UPDATE T4Cusers set account = '" & request.form("nlogin") & "', password = '"& request.form("nsenha") &"' where account = '"& request.cookies("account") &"' and password = '"& request.cookies("senha") &"'"

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -

Olá! Obrigado por ajudar!

Olha eu fiz isso que você falou, e agora quando eu clico em alterar o formulário some e fica tudo em branco...

Share this post


Link to post
Share on other sites
  • 0

O account e password que vao no formulario de edição vem dos cookies gravados, confira se nesse arquivo de edição tem:

account = request.Cookies("account")
senha = request.Cookies("senha")

Share this post


Link to post
Share on other sites
  • 0
Guest - Marcos -
O account e password que vao no formulario de edição vem dos cookies gravados, confira se nesse arquivo de edição tem:

account = request.Cookies("account")
senha = request.Cookies("senha")

Tem sim.

Coloquei na web os arquivos, peço o favor que de uma olhada para ver o que está errado.

Muito obrigado por estar me ajudando!

Os arquivos estão aqui: http://rapidshare.de/files/16100246/sistem...ginASP.rar.html

Obrigado

Share this post


Link to post
Share on other sites
  • 0

duas coisas:

arquivo logar.asp, adicione a linha em negrito:

response.Cookies("account")=login

response.Cookies("senha")=senha

response.Cookies("logado")="sim"

Ps.: eu coloquei "sim" mas você pode colocar 1, "ok",.. ou qualquer palavra/letra para indicar.

arquivo cookie.asp, adicione a linha em negrito:

sql_edita = "UPDATE T4Cusers set account = '" & request.form("nlogin") & "', password = '"& request.form("nsenha") &"' where account = '"& request.cookies("account") &"' and password = '"& request.cookies("senha") &"'"

set tab = conexao.execute(sql_edita)

Share this post


Link to post
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.

Sign in to follow this