:ister: ragazzi, ho un problema: non essendo ancora molto bravo sul codice asp, vorrei che qualcuno mi spiegasse come risolvere questo quesito: ho una sola paginetta di script (4 righe) per fare il login-utente. Tale script è connesso con un database che raccoglie le iscrizioni. Il problema è che quando faccio la verifica LOGIN-PASSWORD sto cavolo di script mi legge solo il primo rs del database e ignora tutti gli altri restanti. Intuisco che forse c'è da inserire nel codice qualcosa come "EOF" o "BOF" e sicuramente qualche ciclo "loop", ma non so come fare nè conosco la sintassi esatta. Qualcuno esperto potrebbe aiutarmi? Insomma, io voglio che quando un utente digita il suo corretto username e password, lo script verifichi tutti i nominativi presenti nel database e non solo il primo record (che in tal caso non servirebbe a nulla).
lo script è così composto:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("/mdb-database/data1.mdb")
strConn=strConn & ";pwd="
Conn.Open strConn
'interrogazione sulla tabella utenti
sql = "SELECT * FROM utenti"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
'interrogo il database su due recordSet specifici: il 2 ed il 5
'che contengono rispettivamente i campi [login] e [password]
If Request.Form("login") = rs(2) Request.Form("password") = rs(5) Then
Response.Write "OK! Accesso consentito"
Else
Response.Write "Access Negato!"
'Response.End
End If
%>
<FORM ACTION="login.asp" METHOD="post">
<TABLE BORDER=0>
<TR>
<TD ALIGN="right">Login:</TD>
<TD><INPUT TYPE="text" NAME="login" size="20"></INPUT></TD>
</TR>
<TR>
<TD ALIGN="right">Password:</TD>
<TD><INPUT TYPE="password" NAME="password" size="20"></INPUT></TD>
</TR>
<TR>
<TD ALIGN="right"></TD>
<TD><INPUT TYPE="submit" VALUE="Login"></INPUT>
<INPUT TYPE="reset" VALUE="Reset"></INPUT>
</TD>
</TR>
</TABLE>
</FORM>
lo script è così composto:
<%
Set Conn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("/mdb-database/data1.mdb")
strConn=strConn & ";pwd="
Conn.Open strConn
'interrogazione sulla tabella utenti
sql = "SELECT * FROM utenti"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
'interrogo il database su due recordSet specifici: il 2 ed il 5
'che contengono rispettivamente i campi [login] e [password]
If Request.Form("login") = rs(2) Request.Form("password") = rs(5) Then
Response.Write "OK! Accesso consentito"
Else
Response.Write "Access Negato!"
'Response.End
End If
%>
<FORM ACTION="login.asp" METHOD="post">
<TABLE BORDER=0>
<TR>
<TD ALIGN="right">Login:</TD>
<TD><INPUT TYPE="text" NAME="login" size="20"></INPUT></TD>
</TR>
<TR>
<TD ALIGN="right">Password:</TD>
<TD><INPUT TYPE="password" NAME="password" size="20"></INPUT></TD>
</TR>
<TR>
<TD ALIGN="right"></TD>
<TD><INPUT TYPE="submit" VALUE="Login"></INPUT>
<INPUT TYPE="reset" VALUE="Reset"></INPUT>
</TD>
</TR>
</TABLE>
</FORM>