11 messaggi dal 06 gennaio 2004
salve a tutti
Sono veramente all'ultima spiaggia.
ho creato all'interno del mio sito un'area riservata a soli 20 utenti registrati.
per quanto attiene alla pagina di login..tutto in regola. il problema è che voglio sapere la data/ora ed il tempo di permanenza totale di ogni singolo utente ogni singola volta che entra nell'area riservata.

vi invio tutto quello che ho creato fino ad ora.....premetto che di codice non sono pratico, pertanto desiderei che mi diceste cosa e dove modificare.....ringrazio in anticipo chiunque possa aiutarmi....

Approposito,non so quanto possa rilevare, ma la username dovrebbe prenderla da una tabella chiamata UTENTI dove registro i dati degli utenti registrati...

DATABASE access: DATABASE
TABELLA: TABSTATISTICA (oltre quella utenti)
------------------------------------------------------
login.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/conn2003.asp" -->
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_conn2003_STRING
Recordset1.Source = "SELECT * FROM tabstatistica"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("user"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization=""
MM_redirectLoginSuccess="paginariservata.asp"
MM_redirectLoginFailed="login.asp"
MM_flag="ADODB.Recordset"
set MM_rsUser = Server.CreateObject(MM_flag)
MM_rsUser.ActiveConnection = MM_connelsa2003_STRING
MM_rsUser.Source = "SELECT user, pass"
If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
MM_rsUser.Source = MM_rsUser.Source & " FROM tabstatistica WHERE user='" & Replace(MM_valUsername,"'","''") &"' AND pass='" & Replace(Request.Form("pass"),"'","''") & "'"
MM_rsUser.CursorType = 0
MM_rsUser.CursorLocation = 2
MM_rsUser.LockType = 3
MM_rsUser.Open
If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
' username and password match - this is a valid user
Session("MM_Username") = MM_valUsername
If (MM_fldUserAuthorization <> "") Then
Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
Else
Session("MM_UserAuthorization") = ""
End If
if CStr(Request.QueryString("accessdenied")) <> "" And false Then
MM_redirectLoginSuccess = Request.QueryString("accessdenied")
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginSuccess)
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginFailed)
End If
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="POST" action="<%=MM_LoginAction%>">
<p>
<input name="user" type="text" id="user">
</p>
<p>
<input name="pass" type="text" id="pass">
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
-----------------------------------------
paginariservata.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
pagina riservata
</body>
</html>
------------------------------------------------
conn2003.asp
<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_conn2003_STRING
MM_conn2003_STRING = "dsn=connpw2003;"
%>
-----------------------------------------------

68 messaggi dal 29 novembre 2002
 Non ho avuto modo di leggere il codice che hai inserito ma ti posso dire come farei io. Personalmente quando un utente effettua il login vengono caricate le relative variabili di sessione per tale utente e quando effettua il logout eliminarle.
Per fare questo ASP si appoggia sul file global.asa che contiene al suo interno gli eventi Session_OnStart e Session_OnEnd. Quindi potresti procedere in questo modo:

Session_On Start ==> quando l'utente si "logga" salvi da qualche parte l'ora

Session_OnEnd ==> quando l'utente si "slogga" (non la caviglia !!  ) fai la differenza fra la data di logout e quella precedentemente salvata ed il risultato lo inserisci poi nella tabella statistica del tuo database!!!


Non so se sono stato chiaro e se sono stato d'aiuto...fammi sapere

"Questo business è un organismo vivente in costante crescita dove vige la massima competizione. Non c'è spazio per l'ozio e concetture a posteriori. Ci sono nuove scoperte ogni ora, nuove idee pronte per essere divorate, ridefinite.

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.