Articles   Dev Forums   Personalize   Favorites   Member Login        Active Users:  71
DevASP - ASP and XML Articles, Samples, Toturials, Sample Chapters and resources for Developers Friday, July 03, 2009
Home
Articles & Samples
Dev Search
Dev Forum
Add a Listing
Sample Chapters
Directory Feed
Link to US
Contact

Search Directory
Applications
Articles & Samples
Components
Community
Database
Developer Sites
Downloads
Hosting Services
Introduction
Knowledge Base
Sample Chapters
WebCasts

ESET
ASP Directory
Applications
Articles & Samples
Components
Developer Sites
Knowledge Base
Sample Chapters
WebCasts
XML Directory
Applications
Articles & Samples
Developer Sites
Error, Bugs & Fixes
Downloads
Introduction
Knowledge Base
Sample Chapters
WebCasts

ASP Hit Counter

You can count the number of visitors on your site with a very simple ASP code. Create a file Count.asp with the following code and add in the header of every page useing Server Side Include(SSI).


<!--#Include File="Count.asp"-->

Count.asp creates a text file to write the numbers of current users. When a new user comes on the site, Count.asp reads old users count from text file, updates the value by one, and stores the new count value back in the text file. The new count value is also stored in a Session Variable so you can use that Session Variable on different pages to display current user count with the following code.

<%=Session("TotalCount")%>

To make sure that one user is counted only once we use IF THEN statement. When the count file is updated first time a Session variable is created which holds the current user count. When user goes to next page Count.asp file checks if Session Variable exists or not. If Session Variable exists then it will not count the user again.


File: Count.asp
<%

' Every time we count a user we will put the
' latest count value in the session variable "TotalCount"
' If Session Variable TotalCount is empty
' that mean this user is new and session variable
' But if Session Variable already has the value
' Then we will not count this user again.

If IsEmpty(Session("TotalCount"))  Then  
 Call CountThisUser
End If

' It is good practice to use Functions and Sub procedure
' Because all the variables being used in sub or function
' are automatically destroyed when Sub or Function finish
' processing the code.
' So you can use these Variables again in other functions
Sub CountThisUser()

 Dim objFSO           ' FileSystemObject
 Dim objTS            ' TextStreamObject
 
 Dim strFileName      ' Counter text File Name
 Dim intOldCount
 Dim intNewCount
  
 ' Specify the Text file to store count value
 ' Because We Set Create = True
 ' File will be Created if it does not exist
 
 strFileName = Server.MapPath("Counter.txt")
 
 Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 
 If objFSO.FileExists(strFileName)  Then
  Set objTS = objFSO.OpenTextFile(strFileName, 1)
 Else
  Set objTS = objFSO.CreateTextFile(strFileName, True)
 End If
     
 If Not objTS.AtEndOfStream  Then
  intoldCount = objTS.ReadAll
 Else
  intoldCount = 0
 End If
 
 objTS.Close
    
 intNewCount = intOldCount + 1
    
 ' Store the value of intNewCount in Session Variable
 ' So you can use it on different pages
 Session("TotalCount")= intNewCount
    
 ' Write intNewCount value back to text file
 
 Set objTS = objFSO.CreateTextFile(strFileName, True)
 objTS.Write intNewCount
 
 objTS.Close
 
 Set objFSO = Nothing
 Set objTS = Nothing
End Sub
%>

Here is the code of a simple ASP page which display the User Counts. Count.asp file is added to this page with Server Side Include and Session Variable is used to display the current user count.


File: DisplayCount.asp
<HTML>
<HEAD>
<TITLE>Display user Count</TITLE>
<!--#Include File="Count.asp"-->
</HEAD>
<BODY>
<Center>
<H1>Welcome to DevASP.com</H1>
<H2>You are User Number<%=Session("TotalCount")%></H2>
</Center>
</BODY>
</HTML>

Have Questions? Discuss this topic in Dev Forum


DevASP - Privacy - Disclaimer
Copyright © 2008 DevASP.com