Salve, sono nuovo e mastico ancora poco ASP.
Ho un form login che al momento della convalida dei dati dovrebbe generare dei codici.
Se effettuo il login mi dice che l'utente è attivo però non mi fa accedere alle pagine successive.
il form login è il seguente
codice:
<form method="POST" action="accesso.asp">
<input name="register" type="hidden" value="1">
<input name="area" type="hidden" value="<%=area%>">
<table border="0" width="122">
<tr>
<td width="121">
<font face="Comic Sans MS" size="2">User ID</font><br>
<input type="text" name="newusername" size="15">
</td>
</tr>
<tr>
<td width="121">
<font size="2" face="Comic Sans MS">Password</font><br>
<input type="password" name="newpassword" size="15">
</td>
</tr>
<tr>
<td width="121">
<input type="submit" value="Entra" name="B1"><br>
<font face="Comic Sans MS" size="2">
<a href="javascript:openit()">Password Dimenticata?</a>
</font>
</td>
</tr>
</table>
</form>
e poi dovrebbe creare i codici cod_user e cod_password con una di queste contenute nel file funcs.asp:
codice:
FUNCTION checkattivo( byVal username, byVal password, byRef Conn )
sqlString = "SELECT user_id, user_data_termine, user_order_id, user_attivo, user_data_creazione_file, user_codice_transazione FROM users " &_
"WHERE user_username='" & username & "' " &_
"AND user_password='" & password & "' "
SET RS = Conn.Execute( sqlString )
IF not RS.EOF THEN
if rs("user_attivo") = -1 then
data_di_sistema_ricavata = elabora_codice_user
data_di_creazione_ricavata = elabora_codice_pass
' Verifica data di creazione file di configurazione
if not isnull(rs("user_data_creazione_file")) then
if rs("user_data_creazione_file") <> data_di_creazione_ricavata then
confermaaccesso "Non è possibile effettuare l'accesso alle lezioni da questa postazione!"
end if
else
sqlString = "UPDATE users SET " &_
"user_data_creazione_file = '" + data_di_creazione_ricavata & "' " &_
"WHERE user_username='" & username & "' " &_
"AND user_password='" & password & "' "
conn.Execute sqlString
end if
'
'backpage = Request.ServerVariables( "SCRIPT_NAME" )
'errorForm "Data di sistema:"+ data_di_sistema_ricavata + "Data di creazione:"+ data_di_creazione_ricavata, backpage
'
' Verifica che non sia stato effettuato un accesso con le stesse impostazioni
ip = Request.ServerVariables("REMOTE_ADDR")
sqlString_accessi = "SELECT accessi_id, accessi_username, accessi_cod_username, accessi_codice FROM accessi " &_
"WHERE accessi_id=" & rs("user_id") &_
"AND accessi_username='" & username & "' " &_
"AND accessi_cod_username='" & elabora_codice_user & "' "
SET RS_accessi = Conn.Execute( sqlString_accessi )
IF not RS_accessi.EOF THEN
if not isnull(RS_accessi("accessi_codice")) then
confermaaccesso "Non è possibile effettuare l'accesso alle lezioni da questa postazione! Duplicazione di accesso!" '+ "Valore: " + ip + " "+ RS_accessi("accessi_codice")
if RS_accessi("accessi_codice") <> ip then
confermaaccesso "Non è possibile effettuare l'accesso alle lezioni da questa postazione! Duplicazione di accesso!"
end if
else
confermaaccesso "Non è possibile effettuare l'accesso alle lezioni da questa postazione! Duplicazione di accesso!"
end if
else
' Add New Access to Database
sqlString_accessi = "INSERT INTO accessi ( " &_
"accessi_id, " &_
"accessi_username, " &_
"accessi_cod_username, " &_
"accessi_codice " &_
") VALUES ( " &_
rs("user_id") & ", " &_
" '" & username & "', " &_
" '" & elabora_codice_user & "', " &_
" '" & ip & "' " &_
")"
Conn.Execute sqlString_accessi
end if
if not isnull(rs("user_data_termine")) then
if rs("user_data_termine") < NOW() then
sqlString = "UPDATE users SET " &_
"user_attivo = 0, user_data_attivazione = null, user_data_termine = null, user_order_id = 0 " &_
"WHERE user_username='" & username & "' " &_
"AND user_password='" & password & "' "
conn.Execute sqlString
checkattivo = - 1
confermaaccesso "Il tuo Username non è più attivo! Per l'attivazione dovrai effettuare un nuovo versamento della quota annuale!"
else
checkattivo = 0
'addCookie "username", username
'addCookie "password", password
end if
' inserimento valore transazione
cod_password = Mid(cod_password, 4, 6) + Mid(cod_username, 5, 6)
sqlString = "UPDATE users SET " &_
"user_codice_transazione = '" + cod_password & "' " &_
"WHERE user_username='" & username & "' " &_
"AND user_password='" & password & "' "
conn.Execute sqlString
else
checkattivo = - 1
end if
elseif rs("user_attivo") = 0 then
checkattivo = -1
if rs("user_order_id") > 0 then
confermaaccesso "Il tuo Username non è attivo! Ti verrà comunicata l'attivazione con una e-mail!"
end if
end if
elseif rs.eof then
checkattivo = - 1
END IF
END FUNCTION
Come faccio a far generare questi codici (per poter accedere al resto dei contenuti?
O meglio come faccio a reindirizzare i dati del login a quella funzione?
Grazie