7 messaggi dal 21 agosto 2005
Sto cercando di sviluppare uno script per memorizzare tutti gli accessi degli utenti in un database e memorizzare anche tutte le pagine che hanno cliccato. Ho provato a scrivere uno script nel global.asa ma mi memorizza solo gli utenti non loggati; nel momento che si loggano non memorizza più niente. Se nella pagina che rielabora i dati del login (user e password) vado a scrivere lo script per memorizzare il primo accesso, nel database troverò ovviamente solo la data e ora di ingresso, ma non delle visite successive nelle altre pagine. Come si deve impostare il tutto? stavo pensando ad un file di inclusione da inserire ad ogni pagina...

joe
3.117 messaggi dal 29 ottobre 2001
Contributi | Blog
Nel global.asa sono presenti solo l'evento "Session_OnStart" che viene
eseguito solo la prima volta che l'utente visita la prima pagina del tuo
sito (in asp.net ci sono eventi anche per ogni pagina, vedi BeginRequest).

Se vuoi memorizzare ogni visita, devi creare una sezione di codice da
includere in tutte le pagine che memorizzi il nome della pagina e il
visitatore.

Ciao
7 messaggi dal 21 agosto 2005
Infatti, ho provato a fare un file monitoraggio.asp col codice per memorizzare i dati e pare che funziona eccetto che per un particolare: se si clicca in una pagina che si è già visitato poco prima non memorizza l'evento. E' importante conoscere l'ultimo clik dell'utente, in modo da fargli scadere la sessione prima se non si dovesse cliccare se un altro link per un certo periodo (di cui vedo che si discusso molto..).
ti posto il codice di monitoraggio.asp:

<%
dim objconn3, objrs3, pagina, nome_utente
' recupero la variabile di sessione dell'utente creata in
' fase di login
nome_utente = session("utente")
pagina = request.servervariables("URL")
set objconn3 = server.createobject("adodb.connection")

objconn3.connectionstring = "dsn=monitoraggio_utenti.dsn"
objconn3.open
set objrs3 = server.CreateObject("adodb.recordset")
objrs3.open "visite_generali", objconn3, 3, 2
if nome_utente <> "" then

objrs3.Addnew
objrs3("utente") = nome_utente
objrs3("pagina") = pagina
objrs3("ora") = now
objrs3.Update
end if

objrs3.close
set objrs3 = nothing

objconn3.close
set objconn3 = nothing%>


...una curiosità che è un dubbio: ma una sessione scade dopo il normale tempo impostato nel server anche se si continua a girare nel sito, oppure scade se non si clicca su di una pagina per il tempo prefissato nel server? cioè se il tempo di timeout è 20 minuti, se giro nel sito per tale periodo la sessione scade, oppure scade se per 20 minuti non clicco su una pagina?

joe
3.117 messaggi dal 29 ottobre 2001
Contributi | Blog
joe_2005 <joe_2005> ha scritto:
Infatti, ho provato a fare un file monitoraggio.asp col codice per
memorizzare i dati e pare che funziona eccetto che per un
particolare: se si clicca in una pagina che si è già visitato poco
prima non memorizza l'evento.
Il problema non è del server ma del browser che richiama la pagina ch eha
nel suo buffer.

Per evitarlo puoi scrivere:
Response.Expires=-1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-control", "no-store"
...una curiosità che è un dubbio: ma una sessione scade dopo il
normale tempo impostato nel server anche se si continua a girare nel
sito, oppure scade se non si clicca su di una pagina per il tempo
prefissato nel server? cioè se il tempo di timeout è 20 minuti, se
giro nel sito per tale periodo la sessione scade, oppure scade se per
20 minuti non clicco su una pagina?
La seconda che hai detto.

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.