home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 March / PCWorld_2001-03_cd.bin / Software / Topware / aspedit / _SETUP.1 / counter5.asp < prev    next >
Text File  |  1998-07-02  |  3KB  |  90 lines

  1. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  2. Sub Application_OnStart
  3.   ' Constants for FileSystemObject
  4.   Const ForReading = 1, ForWriting = 2
  5.  
  6.   ' Get the physical path of the counter file. Here the counter.txt is in the root 
  7.   ' of the web site
  8.   sPath = Server.mapPath("/counter.txt")
  9.  
  10.   ' Create a file system object and open the counter file for reading
  11.   Set Fs = CreateObject ("Scripting.FileSystemObject")
  12.   Set CountFile = Fs.OpenTextFile(sPath, ForReading)
  13.  
  14.   ' Read the two lines of the counter file, trim any spaces
  15.   sVisits = Trim(CountFile.Readline())
  16.   sVisitors = Trim(CountFile.Readline())
  17.  
  18.   ' Close the counter file
  19.   CountFile.Close
  20.  
  21.   ' Set the count of visits and visitors in Application variables
  22.   Application("Visits") = CLng(sVisits)
  23.   Application("Visitors") = CLng(sVisitors)
  24.  
  25.   ' Release File system object and counter file
  26.   Set Fs = Nothing
  27.   Set CountFile = Nothing
  28. End Sub
  29. </SCRIPT>
  30.  
  31. <SCRIPT LANGUAGE=VBScript RUNAT=Server>
  32. Sub Session_OnStart
  33.   ' Constants for FileSystemObject
  34.   Const ForReading = 1, ForWriting = 2
  35.  
  36.   ' Constant for write interval. Change this to suit your needs
  37.   Const cWriteInterval = 100
  38.  
  39.   ' Get the physical path of the counter file. Here the counter.txt is in the root of 
  40.   ' the web site
  41.   sPath = Server.mapPath("/counter.txt")
  42.  
  43.   ' Get the cookie from the visitor. The VISITORID cookie may have been set
  44.   ' in which case sVisitorID will contain a value
  45.   sVisitorID = Request.Cookies("VISITORID")
  46.  
  47.   ' Lock the application to increment the counts
  48.   Application.Lock
  49.     ' Increment the visits by 1. This happens every time a new session is created
  50.     lVisits = Application("Visits") + 1
  51.  
  52.     ' The number of visitors is obtained. It is incremented later in the code
  53.     lVisitors = Application("Visitors")
  54.  
  55.     ' Check if the VISITORID cookie exists. If it doesn't, set a new cookie with the
  56.     ' value of visitor number. This cookie expires December 31, 2000. 
  57.     If Len (sVisitorID) = 0 Then
  58.       lVisitors = lVisitors + 1
  59.       Response.Cookies("VISITORID") = lVisitors
  60.       Response.Cookies("VISITORID").Expires = #12/31/2000#
  61.     End If
  62.  
  63.     ' Write the counts into the counter file at cWriteInterval hits
  64.     If ((Application("Visits") Mod cWriteInterval) = 0) Then
  65.       ' Create a file system object and open the counter file for writing
  66.       Set Fs = CreateObject("Scripting.FileSystemObject")
  67.       Set CountFile = Fs.OpenTextFile (sPath, ForWriting)
  68.  
  69.       ' Write the new counts into counter.txt
  70.       CountFile.Writeline(lVisits)
  71.       CountFile.WriteLine(lVisitors)
  72.     
  73.       ' Close the counter file
  74.       CountFile.Close
  75.  
  76.       ' Release File system object and counter file
  77.       Set Fs = Nothing
  78.       Set CountFile = Nothing
  79.  
  80.     End If
  81.  
  82.     ' Set the count of visits and visitors in Application variables
  83.     Application("Visits") = lVisits
  84.     Application("Visitors") = lVisitors
  85.  
  86.   ' Unlock the application object
  87.   Application.Unlock
  88.  
  89. End Sub
  90. </SCRIPT>