Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412

    Problema con l'autenticazione utenti

    Ciao ragazzi, ho usato (da questo sito) lo script per l'identificazione dei nomi degli utenti presenti sul sito. Ecco lo script:

    GLOBAL.ASA
    -------------------------------------------
    <SCRIPT language="VBScript" Runat="Server">

    Sun Session_OnStart
    session("login") = false
    end sub

    Sub Session_OnEnd
    if session("login") then

    Application.Lock
    Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
    'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
    'applicazione che contiene l'elenco degli utenti attivi
    Application.UnLock

    end if
    End Sub
    </SCRIPT>

    ho seguito il consiglio di TIA86 sul forum (http://forum.html.it/forum/showthrea...hreadid=677467) ma ho il dubbio che la parte che ho segnato in rosso non sia corretta.



    la pagina di autenticazione:
    -------------------------------------------------

    <%
    dim user, pass
    user = request.form("user")
    pass = request.form("pass")
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../mdb-database/interventi.mdb")
    Conn.Open strConn
    sql = "SELECT * FROM registrazione_utente1"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open sql, conn, 3,3

    do while not(rs.eof)
    if user = rs("nick") and pass = rs("pass") then
    Response.Cookies("www.eonline.it")("id") = rs("id")
    Response.Cookies("www.eonline.it")("user") = rs("nick")
    Response.Cookies("www.eonline.it")("avatar") = rs("avatar")
    Response.Cookies("www.eonline.it")("email") = rs("email")
    response.cookies("www.eonline.it").Expires = date() + 365
    response.cookies("www.eonline.it").Secure = false

    ' controllo utenti
    session("login") = true
    Session("utente") = rs("nick")
    if InStr(1, Application("Users"), Session("utente") & "|" ) = 0 then
    'se l'utente non è già presente
    Application.Lock
    'viene aggiunto l'utente appena loggato alla stringa che contiene
    ' l'elenco degli utenti
    Application("Users") = Application("Users") & Session("utente") & "|"
    Application.UnLock
    end if

    ' fine controllo utenti

    response.redirect "../index.asp"
    end if
    rs.movenext
    loop

    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing

    response.redirect "../index.asp?errore=si"
    %>



    e la pagina di visualizzazione degli utenti connessi:
    ---------------------------------------------------------------------

    <%
    dim arrUtenti, i
    arrUtenti = Split(Application("Users"),",")
    %>
    <table width="190" border="0" cellpadding="1" cellspacing="0">
    <tr>
    <td width="19"></td>
    <td width="167"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Utenti
    collegati:
    </font></td>
    </tr>
    <tr>
    <td></td>
    <td>
    <% for i = 0 to UBound(arrUtenti) %>
    <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%=arrUtenti(i)%></font>
    <% next %>
    </td>
    </tr>
    </table>


    io vorrei sapere:

    1) come posso rendere linkabili i nomi degli utenti connessi in modo da ottenere le informazioni personali di ognuno (si dovrebbe richiamare il cookie "Response.Cookies("www.eonline.it")("id")", ma ho combinato un casino )?

    2) come posso fare per far si che l'utente che chiude il browser non risulti più connesso come invece succede adesso?

    3) quale script devo inserire nella pagina di logout per non fare risultare più connesso l'utente?


    So che vi chiedo troppo ma sono incasinato...

  2. #2
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412

  3. #3
    Utente di HTML.it L'avatar di digitm
    Registrato dal
    May 2002
    Messaggi
    412
    Per creare il nome linkabile ho usato:

    <%
    dim arrUtenti
    arrUtenti = Split(Application("Users"),"|")
    %>
    <table width="190" border="0" cellpadding="1" cellspacing="0">
    <tr>
    <td width="19"></td>
    <td width="167"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Utenti
    collegati:
    </font></td>
    </tr>
    <tr>
    <td></td>
    <td>
    <% for i = 0 to UBound(arrUtenti) %>
    <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= arrUtenti(i) %></font>
    <% next %>
    </td>
    </tr>
    </table>


    e va....


    per la pagina di logout ho usato:


    <%
    Response.Cookies("www.eonline.it")("user") = ""
    response.redirect "../index.asp"

    Application.Lock
    Application("Users") = Replace( Application("Users") , Session("utente") & "|" ,"")
    'quando scade una sessione viene eliminato il nome dell'utente dalla variabile di
    'applicazione che contiene l'elenco degli utenti attivi
    Application.UnLock
    %>

    ma non me lo cancella....

    Come faccio?

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.