Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Application

  1. #1
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866

    Application

    Dunque, se utilizzo i seguenti file, dopo qualche minuto il sito si blocca? Se elimino dal Global.asa l'aplication("online") il problema scompare, ma vorrei capire perchè non va.

    Questo è il Global.asa

    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart()
    Application("UtentiCollegati") = 0
    End Sub

    Sub Application_OnEnd()
    Application("UtentiCollegati") = 0
    Application("online") = ""

    End Sub

    Sub Session_OnStart()
    ' setta il timeout delle variabili di
    ' Sessione a 20 minuti
    Session.Timeout = 20
    ' quando il visitatore entra (+1)
    Application.Lock
    Application("UtentiCollegati") = _
    Application("UtentiCollegati") + 1
    Application("online") = Application("online") & " " & Session("user")

    Application.UnLock
    End Sub

    Sub Session_OnEnd()
    ' quando il visitatore esce (-1)
    Application.Lock
    Application("UtentiCollegati") = _
    Application("UtentiCollegati") - 1
    Application("online") = Replace( Application("online") & Session("user") & "" ,"")
    Application.UnLock

    End Sub
    </SCRIPT>


    Questa è la pagina di login:

    <%

    user = Request.Form("user")
    psw = Request.Form("psw")
    MyCheckBox = Request.Form("MyCheckBox")

    strConn = "driver={SQL Server};server=00000000;uid=mmmmmmmm;pwd=rrrrrrrrr ;database=rrrrrrrrrr"

    Set conn = Server.CreateObject("ADODB.Connection")

    conn.Open strConn


    sSql= " SELECT utenti_forum.username, utenti_forum.Psw, utenti_forum.ID"
    sSql=sSql & " FROM utenti_forum"
    sSql=sSql & " WHERE utenti_forum.username = '" & user & "' AND utenti_forum.Psw = '" & psw & "'"


    Set rs = Server.CreateObject("ADODB.Recordset")
    Set rs = Conn.Execute(sSql)

    'response.write sSql & "

    "
    'response.write user & "
    "
    'response.write psw & "
    "
    'response.write MyCheckBox & "
    "

    If Not Rs.EOF Then
    autenticazione = True

    Session("user") = rs("username")
    Session("pass") = rs("Psw")
    ID = rs("ID")
    Session("ID") = ID
    'response.write ID
    if InStr(1, Application("online"), Session("user") & ", " ) = 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("online") = Application("online") & Session("user") & ","
    Application.UnLock
    end if

    Else
    autenticazione =False
    End If
    'Rs.Close

    if autenticazione = true and MyCheckBox = "yes" then
    response.cookies("SalvaForum").expires = now() + 365
    response.cookies("SalvaForum")("user")=user
    response.cookies("SalvaForum")("psw")=psw
    response.cookies("SalvaForum")("ID")=ID

    Response.Redirect("forum_.asp")
    else
    if autenticazione = true and MyCheckBox = "" then
    Session("Admin") = True
    Response.Redirect("forum_.asp")
    else
    Response.Redirect("login.asp")
    End if
    End if
    %>

    Ed infine così stampo l'application nel forum:

    response.write(Application("online"))

  2. #2
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    up, spostatemi in asp, ho distrattamente sbagliato.

  3. #3
    Utente di HTML.it L'avatar di jet
    Registrato dal
    Dec 2002
    residenza
    Chieti
    Messaggi
    866
    Comunque, aggiornando il global.asa così:
    [QUOte]
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server">
    Sub Application_OnStart()
    Application("UtentiCollegati") = 0
    End Sub

    Sub Application_OnEnd()
    Application("UtentiCollegati") = 0
    End Sub

    Sub Session_OnStart()
    ' setta il timeout delle variabili di
    ' Sessione a 20 minuti
    Session.Timeout = 20
    ' quando il visitatore entra (+1)
    Application.Lock
    Application("UtentiCollegati") = _
    Application("UtentiCollegati") + 1
    Application.UnLock
    End Sub

    Sub Session_OnEnd()
    ' quando il visitatore esce (-1)
    Application.Lock
    Application("UtentiCollegati") = _
    Application("UtentiCollegati") - 1
    Application.UnLock
    End Sub
    </SCRIPT>
    [QUOTE]

    e lasciando invariate sia la pagina di login e sia la response, il tutto funge e gli utenti vengono stampati in questo modo nomeutente1, nomeutente2, ecc e vengono eliminati dopo appunto 20 minuti nel caso chiudano la sessione.


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.