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

Alterar Senha


Guest - Marcos -

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 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

Link para o comentário
Compartilhar em outros 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
%>

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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")

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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") &"'"

Link para o comentário
Compartilhar em outros 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

Link para o comentário
Compartilhar em outros 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)

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...