View Full Version : Login/Logout Timer
Hi All
Has any one an idea of how to implement a timer with login and logout, such that, as the user click on login button, the system time is captured into a variable, and as he/she log's out the system time is again captured into another variable, and the difference of the two variables can be stored in the database.
Thanks
Is this the same issue as
http://www.codingforums.com/showthread.php?s=&threadid=18378
?
If you only need the difference between the two dates = the length of the session, then store the login time in a session variable.
session("logintime")=Now
if they logout, use
sessionlength=DateDiff("n", Now, session("logintime"))
to get the number of minutes between logout and login. You can have it in seconds etc (see below)
Then you can write this value to your db.
More info on datediff
-------------------------------------------
Description
Returns the number of intervals between two dates.
Syntax
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
The DateDiff function syntax has these parts:
Part Description
interval Required. String expression that is the interval you want to use to calculate the differences between date1 and date2. See Settings section for values.
date1, date2 Required. Date expressions. Two dates you want to use in the calculation.
firstdayofweek Optional. Constant that specifies the day of the week. If not specified, Sunday is assumed. See Settings section for values.
firstweekofyear Optional. Constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs. See Settings section for values.
Settings
The interval argument can have the following values:
Setting Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week of year
h Hour
n Minute
s Second
The firstdayofweek argument can have the following values:
Constant Value Description
vbUseSystem 0 Use National Language Support (NLS) API setting.
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday
The firstweekofyear argument can have the following values:
Constant Value Description
vbUseSystem 0 Use National Language Support (NLS) API setting.
vbFirstJan1 1 Start with the week in which January 1 occurs (default).
vbFirstFourDays 2 Start with the week that has at least four days in the new year.
vbFirstFullWeek 3 Start with the first full weekof the new year.
Remarks
You can use the DateDiff function to determine how many specified time intervals exist between two dates. For example, you might use DateDiff to calculate the number of days between two dates, or the number of weeks between today and the end of the year.
To calculate the number of days between date1 and date2, you can use either Day of year ("y") or Day ("d"). When interval is Weekday ("w"), DateDiff returns the number of weeks between the two dates. If date1 falls on a Monday, DateDiff counts the number of Mondays until date2. It counts date2 but not date1. If interval is Week ("ww"), however, the DateDiff function returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but it doesn't count date1, even if it does fall on a Sunday.
If date1 refers to a later point in time than date2, the DateDiff function returns a negative number.
The firstdayofweek argument affects calculations that use the "w" and "ww" interval symbols.
If date1 or date2 is a date literal, the specified year becomes a permanent part of that date. However, if date1 or date2 is enclosed in quotation marks (" ") and you omit the year, the current year is inserted in your code each time the date1 or date2 expression is evaluated. This makes it possible to write code that can be used in different years.
When comparing December 31 to January 1 of the immediately succeeding year, DateDiff for Year ("yyyy") returns 1 even though only a day has elapsed.
The following example uses the DateDiff function to display the number of days between a given date and today:
Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function
Hi raf,
how can I display the sessionlength=DateDiff("n", Now, session("logintime")) after capturing it. What I really want is the difference of the time to be inserted into a database, I got the note you attached with this thread, but pls can you illustrate further how to capture the login date, logout date and get the difference into a database.
Thanks
Abdul
how can I display the sessionlength=DateDiff("n", Now, session("logintime")) after capturing it.
With response.write. :)
response.write sessionlength
would do the trick.
What I really want is the difference of the time to be inserted into a database,
Ha. Well, just do
sql="INSERT INTO table (variable) VALUES (thelength) WHERE nameuser=theuser"
sql=replace(sql,"thelength",sessionlength )
sql=replace(sql,"theuser",session("user") )
see note below
pls can you illustrate further how to capture the login date, logout date and get the difference into a database.
It's just really the two lines of code
from my previous post.
What happens is this:
- the user hits the login button (and login is validated, i assume, so after validation -->) abd the first line of code is ran.
session("logintime")=Now
session("user")= request.form("username")
It stores the current date and time in a session-variable
Now, the second line of code stores the username he types in in the loginform in another session-variable.
- he logs out and this call's an asp page to abandon the session.
-in this page you have
sessionlength=DateDiff("n", Now, session("logintime"))
This line computes the difference between the value in the sessionvariable (the logintime) andthe current time. It returns a number (an integer) which is the number of minutes that has passed sice the login (if you replace the n with an s, you get the number of seconds)
- now we need to store this in the db with
sql="INSERT INTO table (variablesessionlength,variableuser) VALUES (thelength,'theuser')"
sql=replace(sql,"thelength",sessionlength )
sql=replace(sql,"theuser",session("user") )
table = your tablename, variablesessionlength = your variablename where the time needs to be stored, variableuser is the variable where your username is stored
So you only make one db connection, at the end of the session, and you insert a new record for that session and that user.
Now, you vould also store the last sessiondate and ength in the usertable. With an updatestatement. It all depends on how many users you'll have, what you want to do with the data etc...
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.