Getting Data from the Client
On many sites in real life, we need to ask the visitor what he wants,
get the information back to the server, and then do something with
it. This, after all, is the main mechanism of e-commerce. HTML
provides one standard method for getting data from the client: the
Form. If we use the HTML Method='POST'
in the form
specification, the data the user types into the fields of the form is
available to our script by reading stdin.
In POST-based Perl CGI scripts, this data can be read into a variable
by setting it equal to <>
:
my ($data); $data=<>;
We can then rummage about in $data
to extract the
values type in by the user.
In real life, you would probably use the CGI module, downloaded from CPAN (http://cpan.org), to handle the interface between your script and data from the form. It is easier and much more secure than doing it yourself, but we ignore it here because we want to illustrate the basic principles of what is happening.
We will add some code to the script to ask questions. One question will ask the reader to click if they want to see a printout of everyone in the database. The other will let them enter a name to replace “Anne” as the search criterion listed earlier.
It makes sense to use the same script to create the page that asks for input and then to handle that input once it arrives. The trick is to test the input channels for data at the top of the script. If there is none, it asks questions; if there is some, it gives answers.
Get Apache: The Definitive Guide, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.