Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Nome utenti connessi.

  1. #1

    Nome utenti connessi.

    Salve a tutti, sono un nuovo iscritto.
    Volevo sapere, visto che è da un pò di tempo che sto , se c'è qualcuno che mi può aiutare per far visualizzare su una pagina asp i nomi degli utenti on line.
    Premetto che ho un db access con una tabella degli utenti iscritti.
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Qui se n'è parlato abbondantemente:
    http://forum.html.it/forum/showthrea...ight=teorema55

  3. #3
    Si, grazie quella discussione l'ho letta tutta questo pomeriggio, ma non è che ci ho capito molto....

  4. #4

  5. #5
    Guarda fraude il tutorial mi funziona, nel senso che gli utenti vengono aggiunti, il problema, come è accaduto ad altri, è che al momento del logout o allo scadere della sessione gli utenti non se ne vanno.

  6. #6
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Ciao, tecnicamente sono i cosidetti "utenti appesi" e ne abbiamo già discusso, ma utilizzi la ricerca?:

    http://forum.html.it/forum/search.ph...by=&sortorder=
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  7. #7
    prima di scrivere ho cercato ed ho provato, ma non ci sono riuscito,
    sicuramente è un problema mio.....per questo ho chiesto aiuto.

  8. #8
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    ...e allora giù con il codice!!!!
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  9. #9
    Grazie Luisi, allora ci provo:

    GLOBAL.ASA:
    Sub Application_OnStart
    'Imposta a 0 il numero di utenti quando parte il servizio server
    Application("ActiveUsers") = 0
    Application("Users") = ""


    End Sub

    Sub Session_OnStart
    '10 minuti di timeout
    Session.Timeout = 5
    'Incremento il numero di utenti all'inizio di una nuova sessione
    Application.Lock
    Application("ActiveUsers") = Application("ActiveUsers") + 1
    Application.UnLock
    End Sub

    Sub Session_OnEnd
    'Decremento il numero di utenti alla fine di ogni sessione
    Application.Lock
    Application("ActiveUsers") = Application("ActiveUsers") - 1
    Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
    Application.UnLock
    End Sub

    LOGON.ASP:
    sql = "SELECT * FROM iscritti WHERE username='" & username & "' AND password='" & password & "'"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    if not(rs.eof) then
    session("userid")=rs.fields("idutente")
    Session("username")= username
    session.timeout = 1
    dim arra
    if InStr(1,Application("Users"),Session("username") & "|" ) = 0 then
    Application.Lock
    Application("Users") = Application("Users") & Session("username") & "|"
    Application.UnLock
    end if
    response.redirect ("home.asp")
    else
    RESPONSE.Redirect("LOGIN2.ASP")
    end if

    Visualizzazione utenti:

    <%
    Response.Write "Utenti Collegati:
    "
    arra = Split(Application("Users"),"|")

    for i = 0 to UBound(arra)
    Response.Write arra(i) & "
    "
    next
    %>

    così facendo gli utenti si visualizzano, ma al momento del logout o dell'uscita dal sito non se ne vanno.
    Ho creato pure nella tabella degli iscritti un nuovo campo CHECKBOX ON/OFF che al momento del login lo mette a ON e al momento del logout a OFF, ma c'è sempre il solito problema.
    Quale mi consigli.....

  10. #10
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Dunque... quando ho iniziato ad occuparmi di asp anch'io ho avuto lo stesso tipo di problema e non mi vergogno a dirlo...

    Alla fine sono giunto alla "conclusione" di non utilizzare il file global.asa ed ho cambiato "metodo e procedura" per evitare che gli utenti rimanessero appesi.

    Alla fine ho optato per un sistema di gestione dei nick mediante tabelle da DB, query di lettura, inserimento, aggiornamento e cancellazione e devo dire che non mi rallenta affatto il sistema.
    codice:
    <%
    '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("mdb-database/users.mdb") 
    strConn=strConn & ";pwd=" & strCodedb
    objConn.Open (strConn)
    
    sqlx= "Select * from utenti_connessi where valido = true"
    'response.write sqlx &"
    "
    
    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
    
    'cancello l'utente dalla tabella degli utenti connessi (impostando data e ora nel formato corretto)
    differenza = dateadd("n", -15, now())
    'response.write differenza &"
    "
    dataInvertitaInglese = FormatDateTimeLCID(differenza,2,1033)
    soloOrario = FormatDateTimeLCiD(differenza,3,1040)
    strSQL = "DELETE * FROM Utenti_connessi WHERE Data_connessione < #" & dataInvertitaInglese & " " & soloOrario & "#"
    'response.write strSQL
    objConn.execute(strSQL)
    
    rec.Close
    objConn.Close
    Set rec = Nothing
    Set objConn = Nothing
    
    %>
    Spero di possa essere utile

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.