D
Dr. Leff
I wrote a web site in Perl CGI. One of the familiar tasks in many
web sites
is validating new users. Traditionally, they enter their email,
desired login
and password. The system sends a confirmation email with a link on
which
to click. The user checks their email, clicks and the system knows
they
are a "real" person.
My web systems send a message like this after the user enters their
desired
login, email address and the demographic information we want:
I aped the format used when one clicks
the submit button on a form.
<A href="http://www.wiu.edu/users/mflll/2/confirm.scgi?C=tic5any&L=c">
Please click here to confirm your login or go to
http://www.wiu.edu/users/mflll/2/confirm.scgi?C=tic5any&L=c</A>
__________________________________________________________________________
But, when I click on it, it calls confirm.scgi as we expect.
Unfortunately, the parameters are not
passed in the standard input.
The beginning of the script, confirm.scgi is instrumented for
debugging
as follows.
Observe that there is no data in STDIN.
#!/usr/local/bin/perl
require "/home/mflll/http/2/ll.pm";
use IO::Handle;
open (out,">".ll::FN("debugconfirm.out"));
out->autoflush(1);
print "Content-type: text/html\n\n";
print "<HTML>";
print "$ENV{'BASE'}<HEAD>";
print "<TITLE>Confirm Login </TITLE>";
print "</HEAD>";
print "<BODY>";
print out "in confirm\n";
## get the login id and Confirmation Code, which should be in the CGI
## query string
print out "standard input |".<STDIN>."|\n";
The output is as follows:
in confirm
standard input ||
Normally, when I read information from a form in a perl CGI script, I
use
a loop to read the standard information. This does matches against
the
parameter names to extract the contents. When I tried this (see code
below),
I got no information -- and debugging showed that it did not enter the
loop.
while (<STDIN>) {
print out "confirming standard input |".$_."|\n";
if (/LoginID=([^&]+)/) {
$login = $1;
}
if (/C=([^&]+)/) {
$Code = $1;
}
}
Any help would be greatly appreciated:
Dr. Laurence Leff Western Illinois University, Macomb IL 61455 ||
(309) 298-1315
Stipes 447 Assoc. Prof. of Computer Sci. Pager: 309-367-0787 FAX:
309-298-2302
web sites
is validating new users. Traditionally, they enter their email,
desired login
and password. The system sends a confirmation email with a link on
which
to click. The user checks their email, clicks and the system knows
they
are a "real" person.
My web systems send a message like this after the user enters their
desired
login, email address and the demographic information we want:
I aped the format used when one clicks
the submit button on a form.
<A href="http://www.wiu.edu/users/mflll/2/confirm.scgi?C=tic5any&L=c">
Please click here to confirm your login or go to
http://www.wiu.edu/users/mflll/2/confirm.scgi?C=tic5any&L=c</A>
__________________________________________________________________________
But, when I click on it, it calls confirm.scgi as we expect.
Unfortunately, the parameters are not
passed in the standard input.
The beginning of the script, confirm.scgi is instrumented for
debugging
as follows.
Observe that there is no data in STDIN.
#!/usr/local/bin/perl
require "/home/mflll/http/2/ll.pm";
use IO::Handle;
open (out,">".ll::FN("debugconfirm.out"));
out->autoflush(1);
print "Content-type: text/html\n\n";
print "<HTML>";
print "$ENV{'BASE'}<HEAD>";
print "<TITLE>Confirm Login </TITLE>";
print "</HEAD>";
print "<BODY>";
print out "in confirm\n";
## get the login id and Confirmation Code, which should be in the CGI
## query string
print out "standard input |".<STDIN>."|\n";
The output is as follows:
in confirm
standard input ||
Normally, when I read information from a form in a perl CGI script, I
use
a loop to read the standard information. This does matches against
the
parameter names to extract the contents. When I tried this (see code
below),
I got no information -- and debugging showed that it did not enter the
loop.
while (<STDIN>) {
print out "confirming standard input |".$_."|\n";
if (/LoginID=([^&]+)/) {
$login = $1;
}
if (/C=([^&]+)/) {
$Code = $1;
}
}
Any help would be greatly appreciated:
Dr. Laurence Leff Western Illinois University, Macomb IL 61455 ||
(309) 298-1315
Stipes 447 Assoc. Prof. of Computer Sci. Pager: 309-367-0787 FAX:
309-298-2302