Sicuro che le due date siano nello stesso formato?
Controlla direttamente nella query di user e password, è più veloce.
Roby
Sicuro che le due date siano nello stesso formato?
Controlla direttamente nella query di user e password, è più veloce.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Questo è il codice di convalida:codice:<% function convertDate(theDate) if isDate(theDate) then theYear = datePart("yyyy",theDate) theMonth = datePart("m",theDate) theDay = datePart("d",theDate) if theMonth < 10 then theMonth = "0" & theMonth if theDay < 10 then theDay = "0" & theDay convertDate = theYear & "/" & theMonth & "/" & theDay end if end function FUNCTION filtraSQL(stringa) strFiltrata = Replace(stringa,"'", "´") strFiltrata = Replace(stringa,"%", "") filtraSQL = strFiltrata END FUNCTION dim strUser strUser=request.form("user") dim strCode strCode=request.form("codice") strCode=cripta(strCode,key) strReferer = Request.Form("referer") SET objRS = Server.CreateObject("ADODB.Recordset") objRS.ActiveConnection = cn strSql = "SELECT * FROM codici WHERE userName='"&strUser&"' AND userCode='"&strCode&"'" objRS.Open strSQL myDate = date() DataOdierna = convertDate(myDate) DataScadenzaUserCode = objRS("DataScadenzaUserCode") IF not objRS.EOF and cDate(DataOdierna) <> cDate(DataScadenzaUserCode) THEN Response.Cookies("innovatel.it_accesso")("valido")="ok" Response.cookies("innovatel.it_accesso")("nome")=objRS("utente_id") Session("user") = Request("user") Session("id_utente") = objRS("utente_id") strEmail = objRS("userMail") session.sessionID data = convertDate(date()) tempo = time() Sql = "INSERT INTO ACCESSI (UTENTE, DATA, ORA, SESSIONID, strEmail)VALUES('"&strUser&"', #"&data&"#, '"&tempo&"', "&session.sessionID&", '"&strEmail&"')" cn.Execute(SQL) else if IsNull(session("tentativi")) then session("tentativi") = 1 else session("tentativi") = session("tentativi") + 1 end if end if ChiudiDB() Response.Redirect Request.Form("referer") Sub ChiudiDB() cn.Close Set cn = Nothing End Sub %>
OK adesso sono riuscito a farlo funzionare, però come faccio a sapere se l'utente ha sbagliato la password o la password è scaduta?
codice:IF not objRS.EOF and cDate(DataOdierna) <> cDate(DataScadenzaUserCode) THEN ... else if IsNull(session("tentativi")) then session("tentativi") = 1 else session("tentativi") = session("tentativi") + 1 end if end if ChiudiDB() Response.Redirect Request.Form("referer") Sub ChiudiDB() cn.Close Set cn = Nothing End Sub
Se entra nel recordset non l'ha sbagliata ma è scaduta.
Se non entra l'ha sbagliata.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Se entra qui
IF not objRS.EOF then
la password è giusta.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
E la condizioneallora va modificata?codice:IF not objRS.EOF and cDate(DataOdierna) <> cDate(DataScadenzaUserCode) THEN![]()
Ovvio.
Hai detto dopo che volevi distinguere i due casi, non prima.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Così non funziona più:codice:IF not objRS.EOF THEN Response.Cookies("innovatel.it_accesso")("valido")="ok" Response.cookies("innovatel.it_accesso")("nome")=objRS("utente_id") Session("user") = Request("user") Session("id_utente") = objRS("utente_id") strEmail = objRS("userMail") if cDate(DataOdierna) <> cDate(DataScadenzaUserCode) then session.sessionID data = convertDate(date()) tempo = time() Sql = "INSERT INTO ACCESSI (UTENTE, DATA, ORA, SESSIONID, strEmail) VALUES ('"&strUser&"', #"&data&"#, '"&tempo&"', "&session.sessionID&", '"&strEmail&"')" cn.Execute(SQL) else response.write "password scaduta" end if else if IsNull(session("tentativi")) then session("tentativi") = 1 else session("tentativi") = session("tentativi") + 1 end if
codice:IF not objRS.EOF THEN Response.Cookies("innovatel.it_accesso")("valido")="ok" Response.cookies("innovatel.it_accesso")("nome")=objRS("utente_id") Session("user") = Request("user") Session("id_utente") = objRS("utente_id") strEmail = objRS("userMail") if cDate(DataOdierna) = cDate(DataScadenzaUserCode) then response.write "password scaduta" end if session.sessionID data = convertDate(date()) tempo = time() Sql = "INSERT INTO ACCESSI (UTENTE, DATA, ORA, SESSIONID, strEmail) VALUES ('"&strUser&"', #"&data&"#, '"&tempo&"', "&session.sessionID&", '"&strEmail&"')" cn.Execute(SQL) else if IsNull(session("tentativi")) then session("tentativi") = 1 else session("tentativi") = session("tentativi") + 1 end if end if![]()