come si chiamano nel tuo db i campi che contengono user e password?
come si chiamano nel tuo db i campi che contengono user e password?
Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
[Bertolt Brecht]
scusa ma mi sa che ti stai legando con le variabili:
dimmi:
quali sono le variabili che ti arrivano dalla pagina precedente
nome e percorso db
nome campi contenenti user e pass
Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
[Bertolt Brecht]
è un'errore di sintassi dovuta a questa istruzione:
utente_database=rsUtente.fields("username")
utente_password=rsPassword.fields ("password")
ADODB.Field (0x800A0BCD)
Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.
/password/connessione.asp, line 26
adatta questoai tuoi dati :
codice:<% user=session("tuasession") password=session("altrasession") 'connessione al database set cn=server.CreateObject ("ADODB.Connection") cn.connectionString="DRIVER={MICROSOFT ACCESS DRIVER (*.MDB)};"& "DBQ=" & SERVER.MapPath(tuopercorso) cn.open cn 'seleziona la tabella strsql="select * from utenti" 'inizia ciclo DO while not rs.EOF 'recupera i dati del recordset user2=rs("user") pass2=rs("password") 'eseguo confronto tra le variabili arrivate dalla bagina precedente ed il mio recordset if user2=user and pass2=password then 'se sono uguali a quelle del record set response.write("trovato") pass="ok" 'chiudo if e ciclo end if rs.Movenext loop if password<>"ok"THEN response.write("non TROVATO") END IF 'chiudo db rs.close cn.Close %>
Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
[Bertolt Brecht]
non capisco, perchè devi fare un ciclo su un recordset per verificare username e password quando puoi farlocon l'sql. Se avessi una tabella utenti da 50000 record diventi vecchio a ciclare tutto:
io farei così:
codice:Dim SQL ' stringa sql Dim Connessione ' ADODB connessione al database Dim rs ' recordset Set connessione = server.createobject("Adodb.Connection") Set rs = server.createobject("Adodb.Recordset") connessione.open .... SQL = "Select * from utenti where username = '" & var_username & "' and pwd_utente ='" & var_password & "'" rs.open SQL, connessione, 3,3 If not rs.eof then ' vuol dire che ha trovato l'utente response.write "trovato" Else ' non trovato response.write "non trovato" End if
...NO ONE IS INNOCENT ANYMORE...
hai ragione ma ....era partito con un select count
Ci sedemmo dalla parte del torto visto che tutti gli altri posti erano occupati."
[Bertolt Brecht]
rs.recordcount non esiste più???
anche se mi sembra difficile possa restituire più di un record con la stessa username e la stessa password...
...NO ONE IS INNOCENT ANYMORE...
scusate sto lavorando con blocco note e front page non so come fare debug. cosa mi consigliate perchè c'è un maledetto errore di logica!
dicevo comico, perché si è partiti da 2 recordset
e si è arrivati a 3 (contenenti tutte le righe degli utenti)
volevo vedere se saltava fuori il quarto
(vabbé dai si scherza)
Prendi il codice di rotteninside
e lascia stare tutto il resto
ti complichi la vita x niente
Pure con le session ti stai complicando la vita
Nelle pagine protette metticodice:If not rs.eof then ' vuol dire che ha trovato l'utente session("autenticato")=true session("username")=var_username Else ' non trovato response.write "non trovato" End if
codice:if session("autenticato")=true then ' codice da mostrare solo agli utenti registrati ed eventualmente anche: response.write "sei autenticato come "&session("username") else response.write "Accesso negato! fai il login" end if