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:

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.
In corrispondenza della riga segnata in grassetto :


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