Ciao.
Sto mettendo a punto un sistema di login che prevede in caso di disattivazione utente l'attivazione automatica (l'utente potrà far da solo).
1) L'utente viene disattivato;
2) Riceve un msg email con una nuova psw (provvisoria);
3) Cambia la psw provvisoria con la sua definitiva;
4) Controllo che la nuova psw inserita sia diversa dalle ultime tre.
Tutto funziona tranne quando l'utente sbaglia a copiare la psw provvisoria, infatti lo script restituisce quest'errore:
In corrispondenza della riga segnata in grassetto :codice:Error Type: ADODB.Field (0x800A0BCD) Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
codice:strUser = request.form("user") strCode1 = request.form("psw_provv") strCode2 = request.form("psw_new") strCode3 = request.form("psw_new1") strMail= request.form("mail") if(strUser<>"")AND(strCode1<>"")AND(strCode2<>"")AND(strCode2=strCode3)AND(strMail<>"") then 'Apertura del database Set Conn=Server.CreateObject("ADODB.Connection") strConn="driver={Microsoft Access Driver (*.mdb)}; " strConn=strConn & " DBQ=" & Server.MapPath("../mdb/cat.mdb") Conn.Open (strConn) strSql = "SELECT * FROM utenti WHERE userName='"&strUser&"' AND userCode='"&strCode1&"'" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open strSql, conn , 3, 3 UserCode = rs("UserCode") UserCodeDue = rs("UserCodeDue") UserCodeTre = rs("UserCodeTre") UserCodeNuova = strCode2 UserID = rs("Utente_ID") if not(rs.eof) then if UserCodeNuova = UserCode or UserCodeNuova = UserCodeDue or UserCodeNuova = UserCodeTre then response.write ("Questa password è già stata utilizzata in passato.") else rs(1)=strUser rs(2)=strCode2 rs(3)=strMail rs.update

Rispondi quotando
VVoVe: 