Wednesday, April 23, 2008

Automatically Running a Script From Within a Web Page

It's very simple to run a script (for example, a CGI script) by clicking a button in a form:

(Note that in the code snippets in this article, square brackets are used instead of angle brackets.)

[form name="form1" method="post" action="/cgi-bin/updatePage.cgi"]

:

:

[/form]

Sometimes,
however, you might need to run a script automatically from within an
HTML page, without requiring the user to perform an action. You might
want to do this if, for example, you have one or more variables that
have been generated perhaps by another script, which you need to
process without user interaction.

If you insert the following
code into an HTML page, the script (in our case, updatePage.cgi) will
be automatically executed when the web page is loaded into a browser.

[img src="/cgi-bin/updatePage.cgi" height="1" width="1"]

In order to ensure that a broken link is not generated by the cgi script itself, include the following code in the script.

print "Content-type: image/gif";

open IN, 'image.gif' or die "Cannot open: $!";

binmode IN;

print while ;

close IN;

There also needs to be an image called image.gif in the same directory (cgi-bin) as the cgi script.

I
often use this technique automatically perform certain text processing
activities in my content management systems. For example, I might have
one or more ASCII files that need to be automatically updated at the
end of an operation, but I don't want to force the user to click, for
example, an update button.

About the Author: John Dixon is a web developer working for My Health Questions Matter,
a company that helps users of the health service to ask the right
questions when discussing their medical condition with health
professionals. John is also interested in computer history, and
maintains http://www.computernostalgia.net,
a site dedicated to the history of the computer. John also provides web
development services to large and small clients via his own company John Dixon Technology Limited.

Related Post



0 comments: