Ti ringrazio Roby ho provato ma continua a non andare.
Codice login.asp:
codice:
<%
...
Session("id_utente") = rs("utente_id")
%>
conn.asp:
codice:
<%
IdUte = Session("id_utente")
'Funzione per la trasformazione della data a seconda dell'LCID
'1 parametro la data formato testo o formato data,
'2 nNamedFormat sono i formati data accettati dalla funzione nel motore vbscript FormatDateTime
'3 LCID (i + usati sono 1033 per le date in inglese e 1040 per la data in italiano
Function FormatDateTimeLCID (str, nNamedFormat, nLCID)
dim strRet, nOldLCID
strRet = str
If (nLCID > -1) Then nOldLCID = Session.LCID
On Error Resume Next
If (nLCID > -1) Then Session.LCID = nLCID
If ((nLCID < 0) Or (Session.LCID = nLCID)) Then strRet = FormatDateTime(str, nNamedFormat)
If (nLCID > -1) Then Session.LCID = nOldLCID
FormatDateTimeLCID = strRet
End Function
Set objConn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("pass/users.mdb")
strConn=strConn & ";pwd=" & strCodedb
objConn.Open (strConn)
data = date()
if len(IdUte) > 0 then
sqlx= "Select * from codici where id_user = "&IdUte
objConn.execute(sqlx)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlx, objConn
else
response.write ""
end if
'solo se l'utente è loggato eseguo lettura preventiva ed eventualmente insert
if len(IdUte) > 0 then
sql= "Select * from utenti_connessi where id_utente_connesso = "&IdUte
objConn.execute(sql)
Set objrs = Server.CreateObject("ADODB.Recordset")
objrs.Open sql, objConn
if objrs.eof then
sqlz = "INSERT INTO utenti_connessi (id_utente_connesso, data_connessione, utente_connesso)VALUES(" &IdUte& ", #"& now() &"#, '"& rs("username") &"')"
objConn.execute(sqlz)
end if
objRs.Close
set objrs = nothing
end if
if len(IdUte) > 0 then
sqlw = "UPDATE Utenti_connessi set valido=true WHERE Id_utente_connesso = " & IdUte
objConn.execute(sqlw)
end if
'cancello l'utente dalla tabella degli utenti connessi (impostando data e ora nel formato corretto)
differenza = dateadd("n", -15, now())
dataInvertitaInglese = FormatDateTimeLCiD(differenza,2,1033)
soloOrario = FormatDateTimeLCiD(differenza,3,1040)
strSQL = "DELETE * FROM Utenti_connessi WHERE Data_connessione < #" & dataInvertitaInglese & " " & soloOrario & "#"
objConn.execute(strSQL)
%>
codice estrai.asp:
codice:
<%
Set objConn=Server.CreateObject("ADODB.Connection")
strConn="driver={Microsoft Access Driver (*.mdb)}; "
strConn=strConn & " DBQ=" & Server.MapPath("pass/users.mdb")
strConn=strConn & ";pwd=" & strCodedb
objConn.Open (strConn)
sqlx= "Select * from utenti_connessi where valido = true"
Set rec = Server.CreateObject("ADODB.Recordset")
rec.Open sqlx, objConn
if rec.eof then
response.write ("<font color=red size=1 font face=verdana>Nessun utente attivo in questo momento.</font>") & "
"
else
While Not REC.EOF
var = var & rec("utente_connesso") & ", "
rec.MoveNext
wend
var = Left(var,Len(var)-2)
response.write ("<font color=blue size=1 font face=verdana>Utenti attivi: </font><font color=red size=1 font face=verdana>"& var &"</font>")
end if
rec.Close
objConn.Close
Set rec = Nothing
Set objConn = Nothing
%>