problemi su modifica dati utente

  • Creatore Discussione Creatore Discussione mic3000
  • Data di inizio Data di inizio

mic3000

Nuovo Utente
12 Apr 2007
8
0
0
ciao ragazzi
ho un problema con un form per il cambio password degli utenti loggati...
ho creato questa pagina ma non funziona...
qualcuno può aiutarmi?!?!?!?

Codice:
<% 
Dim username 
Dim Oldpassword 
Dim Newpassword1 
Dim Newpassword2 

username = Session(Session("username")) 
Oldpassword = Replace(Request.Form("Oldpassword"), "'", "''") 
Newpassword1 = Replace(Request.Form("Newpassword1"), "'", "''") 
Newpassword2 = Replace(Request.Form("Newpassword2"), "'", "''") 


Dim Conn 
Dim Rs 
Dim SQL 

Set Conn = Server.CreateObject("ADODB.Connection") 
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/reg_utenti.mdb") 
Set rs=Server.CreateObject("ADODB.recordset")
SQL = "SELECT * FROM utenti WHERE username = '"&Session("username")&"' AND password ='"&Oldpassword&"'"
rs.Open SQL, Conn

WHILE not rs.EOF
rs.MoveNext 
WEND
Set rs=nothing

Set rs=Server.CreateObject("ADODB.recordset")
SQL = "UPDATE utenti SET password = "&Request.Form("Newpassword2")&" WHERE username = "&Session("username")&"" 
Response.Write SQL
If username = " & username & " AND Request.Form("Oldpassword") = rs("password") AND Request.Form("Newpassword1") = Request.Form("Newpassword2") then 
rs.Open SQL, Conn
Response.write "Dati Aggiornati"
Set rs=nothing
Conn.close
Set Conn=nothing
ELSE
Response.Redirect ("http://www.miosito.it/incorrect.asp")
Set rs=nothing
Conn.close
Set Conn=nothing
END IF

%>

grazie!
 
Codice:
<%

Dim username 
Dim Oldpassword 
Dim Newpassword1 
Dim Newpassword2 

username = Session("username")
Oldpassword = Replace(Request.Form("Oldpassword"), "'", "''") 
Newpassword1 = Replace(Request.Form("Newpassword1"), "'", "''") 
Newpassword2 = Replace(Request.Form("Newpassword2"), "'", "''") 

Dim Conn 
Dim Rs
Dim SQL

Set Conn = Server.CreateObject("ADODB.Connection") 
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/reg_utenti.mdb") 
Set Rs = Server.CreateObject("ADODB.Recordset") 
sql = "SELECT * FROM utenti WHERE password = '"& oldpassword &"' AND username = '"&Session("username")&"'" 
rs.open sql,conn,3,3
if not rs.eof then
Response.Write("La password inserita non corrisponde a quella presente sul database")
Else
SQL = "UPDATE utenti SET [password] = '"& Newpassword2 &"' WHERE [password] = '"& oldpassword &"' AND username = '"&Session("username")&"'"
Conn.Execute(SQL)
Response.redirect ("http://www.miosito.it/updated.asp")
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
%>

ora sono in questa situazione...
se metto caratteri a caso nel campo oldpassword mi manda lo stesso alla pagina di update corretto e giustamente non cambia nulla nel database, ma se volessi far scrivere a video l'errore??(Response.Write("La password inserita non corrisponde a quella presente sul database")
non riesco a farlo funzionare.
mi sono fatto stampare la select ed è giusta...
 
E' sbagliata la condizione ;)

Togli il not (l'ho messo in rosso) e poi prova a lanciare la pagina:

Set Rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM utenti WHERE password = '"& oldpassword &"' AND username = '"&Session("username")&"'"
rs.open sql,conn,3,3
if not rs.eof then
Response.Write("La password inserita non corrisponde a quella presente sul database")
Else
SQL = "UPDATE utenti SET [password] = '"& Newpassword2 &"' WHERE [password] = '"& oldpassword &"' AND username = '"&Session("username")&"'"
Conn.Execute(SQL)

Facci sapere
:byebye:
 

Discussioni simili