How to use the Page Access Counter on
Mid North Coast Internet system

Table of Contents

Introduction

Count.cgi is a CGI program to keep record of the raw hits of a web page. It generates a GIF image of the number of hits and returns to the browser as an inline image. The program also has run-time option not to show the digit images, this way the hits can be kept without displaying it. Almost all of the features are run-time options. The hits are no way accurate. Someone can reload the page again and again to increase the hits. However, people like to see how many times someone visited their page. This program started as a fun to play with CGI programming but due to enormous interest, and feature request, it has turned in to the most configurable counter on the web.

Features

Digit Styles

The digits used in this program are individual GIF files. This gives flexibility of using digits of your choice. You simply specify the desired style in your HTML code. Here are the supplied digit styles.

Style A
Style B
Style C
Style D
Style E
Style F
Style G
Style H
Style I
Style J

How you call the Count program from your Web Page

To use the counter, you must first of all request a data file on the Web Server. This data file is where your current count value is stored. Send a message to webmaster@midcoast.com.au to ask for a new data file. That file will usually be named the same as your username, so if your username is freddy then the data file will also be called freddy and you would specify "df=freddy" in your HTML code.

The counter is displayed as a GIF image so in your HTML code specify an image as follows:

             <img src="/htbin/Count.cgi?df=freddy">

If you want to specify additional options, each option is separated by the vertical bar character ("|"). For example, to specify the above line but with the H digit style, it would be coded:
             <img src="/htbin/Count.cgi?df=freddy|dd=H">

Refer to the table below for details of the dd parameter.

Many defaults apply so you can have a counter on your page simply by specifying the code as shown above (but with your file name!). If you want to get more fancy, you can explore some of the options shown below.

Options for the Count program
Parameter Name Description Default
ft=X Frame Thickness You can wrap the counter in an ornamental frame of X pixels thick. Use 0 for no frame. Values over 5 make a nice 3-D effect. ft=6
frgb=R;G;B Frame Color Specifies the color of the frame in RGB (red/green/blue) format. Each color component, R, G, and B is specified as a value between 0 and 255. If you use ft=# without a frgb= param, the default color is used.

If you specify a frgb= without a ft=#, then the frame thickness defaults to 5. All the examples show ft=5. The RGB sequence for a given color is not always very intuitive, but Count.cgi does provide a way to find the values for a given color. Refer to rbg.txt.html for details of the color combinations.

frgb=x;x;x
tr=B Transparency On/Off You can specify if your counter image will have a transparent color with the Boolean B. So tr=Y means there will be a transparent color; and tr=N means there will not. It does not matter if the GIF files used for the digits are "transparent"; you must specify explicitly which color to make transparent. If you specify a trgb=, then you do not need to specify tr=Y. Valid values for B are Y, N, T, F, 1, or 0. tr=N
No Transparency
trgb=R;G;B Transparency Color Specifies the color you wish to make transparent in RGB ( red/green/blue) format. Each color component, R, G, and B is specified as a value between 0 and 255. To make black transparent, specify trgb=0;0;0 and to make white transparent, specify trgb=255;255;255.

Refer to rbg.txt.html for details of the color combinations.

trgb=x;x;x
md=X Max Digits Defines maximum number of digits to display. Any value between 5 and 10 inclusive are permitted. Padding with leading zeros is automatically done for you; longer counts are truncated to the given X. md=6
Without padding
pad=B Padding with 0's Turn padding on/off in conjunction with md= setting. Valid values for the Boolean parameter B are Y, N, T, F, 1, or 0. pad=N
Without specification of a md=value

pad=Y
With specification of a md=value

dd=A Digit Directory Denotes directory of a specific styles of digits. Ten styles of digits are suppiled. They are kept at the directories A,B,C etc. dd=A
Large green led digits
sh=B Show digits Used to turn display of digits on or off according to the Boolean B. When sh=T, counter will be displayed and incremented, this is the default behavior.

If sh=F no digits will show, but the counter will still increment; instead of digits a transparent 1x1 GIF is displayed. Valid values for the Boolean parameter B are Y, N, T, F, 1, or 0

sh=Y
df=data_file Datafile to store count Specifies the name of the file for storing the count in. The file must be allocated to you as was mentioned above. You can use df=random to display a random number.

One special use of the parameter is df=RANDOM. This returns a random number using the fractional portion of the host's time of day clock as a seed for the generator. Unlike all other WWWcounter parameters, the file name provided is case-sensitive, except for the value random. Or Random, or rANDOM, etc.

df=random
if no datafile is specified
incr=B Increment Count Makes it possible to display the current count without incrementing the count. This can be used to examine the count for reporting or other purposes without adding to the count. Valid values for the Boolean parameter B are Y, N, T, F, 1, or 0.

incr=T
Increment the counter on each invocation
lit=X Display literal Makes it possible to display a given, predetermined value. Valid values for the string X are digits. None
negate=B Negate the color Makes it possible to negate the color of the counter digits. Note that the Frame is exempted from negating. Valid values for the Boolean parameter B are Y, N, T, F, 1, or 0. negate=F
Do not negate
degrees=X Rotate X degrees Makes it possible to rotate the counter image X degree. The possible values of X is 90, 180, 270 and 360. Note 360 is meaningless as the counter will come back to the original 0 degree. degrees=270
With rotate=Y and without degrees=X
rotate 270 degreess clockwise
rotate=B Rotate On/Off The Boolean value B turns on or off rotating. If you use degrees= settting, rotate is not needed. Valid values for the Boolean parameter B are Y, N, T, F, 1, or 0. rotate=F
Do not rotate td>

Typical Example

A typical example of a counter for the average user might be:
<img src=/htbin/Count.cgi?df=sample|ft=5|dd=G|md=5 align=absmiddle>
which appears as: The "align=absmiddle" keeps this text in the middle of the image.

Special effects

For special effects, you can rotate the display! (I did this with the following code:)
<img src="/htbin/Count.cgi?ft=0|dd=B|lit=1234567890|rotate=Y" align=left>

Or you can make use of the transparency feature to produce different results.
For example if we specify the following code:

<img src="/htbin/Count.cgi?ft=0|dd=H|lit=1234567890|trgb=0;0;0|tr=Y" align=absmiddle>
we get this effect: See if you can figure out what all the options are by referring the the table.

Note the use of the vertical bar ("|") to separate the various parameters on the line.


Error Messages

Count will try to return an image in any event. That is, even if it fails for some reason, it will write the error messages in GIF format.

Copyright

Copyright 1995 by Muhammad A Muquit. Permission to use, copy, modify and sell this program for any purpose is hereby granted without fee, provided that this copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and the author's name not be used in advertising or publicity pertaining to distribution of the software without specific written prior permision. If the program is included in a book, publication or software distribution media for sale, the author must be notified about it.