VBS Chat CGI
Writing a chat program requires four basic things. Things that are
common to most CGIs. First, you have to display data. Second, you have
to generate a form allowing the user to input new data. Third, you have
to accept and process submitted data. Fourth, of course, you have to
some kind of data store to keep your data in.
Generally speaking, I make the default action for CGIs (what happens
if you hit the CGI with no arguments) a simple display action. So if
code finds no arguments, it displays the existing chat comments (shown
If the user presses the "Add Your Comment" button, I need to detect
that condition and send a blank "Add Your Comment" form. Now, I could
done that by setting a special value, but I picked a simpler route.
aside with me into the future for a moment. What happens if the user is
adding a comment but forgets to fill in a required field (like his name
or comment)? Well, the appropriate action is to make the user resubmit
the form. Generally you scold the user first, and if you are nice, you
send a form with the previously-entered data as a starting point. But
is just a simple demo! So all I do is give stupid users a new blank
So... back to here and now. When the user hits the "Add Your Comment"
I just submit a form with no data in the required fields. My program
by sending a new blank form. Simple. The error-handling and form
are the same. Here's the add form -- and you can see the empty fields
As far as the data store required, I use an Access MDB file. No, you don't need to have Access installed! The "Jet" database engine used by Access is part of most recent operating systems and is a free download just in case you don't have it. And since I use DAO (the native way of talking to Jet), I can create a completely new database as needed. So the only distributable is the script itself. Because the script creates the database, whatever account the script is running under will certainly have rights to the file it created! There's no worrying about multiple files, configuration, or file permissions.
Download the complete vbs code here.
Lost? Look at the site map.
Bad links? Questions? Send me mail.