Hello group.
I need someone who has a lot of experience to help me...possibly on an on going basis
because I have asked for help on this issue before to no avail.
Everyone says that it looks right...but it is not right. Something is wrong.
When I click the link (with a freshly erased browser cache) to this CGI script, it
seems to run fine. I get a complete page, but when I click "refresh" it starts
perl...and then crashes.
"
Perl
This program has performed an illegal operation and will be shut down.
If the problem persists, contact the program vendor.
"
I thought maybe it was a bug in active state perl, so I upgraded to the most recent
release. That did not help.
I though that maybe it was a bug in the DBM module. I upgraded to the latest release.
That did not help.
I am not seeing any errors showing up in my apache error log.
I really need help with this. Can someone please help?
I have 3 scripts with the same problem. They are identical except for the SQL
statements, so I'll only post one.
#!c:\perl\bin\perl -w
use DBI;
$dbh = DBI->connect('dbi:ODBC:gallery');
$sqlstatement="SELECT name, artist, picture, price, sold, pid, description FROM
gallery ORDER BY pid";
$sth = $dbh->prepare($sqlstatement);
$sth->execute || die "Could not execute SQL statement ... maybe invalid?";
print "Content-type: text/html\n\n";
print qq~<LINK HREF="/wholesalegallery/wg.css" REL="stylesheet" TYPE="text/css">\n~;
print qq~<HTML>\n~;
print qq~<BODY>\n~;
print qq~<FORM NAME = GALLERY>\n~;
print qq~<INPUT TYPE=SUBMIT VALUE="Order">\n~;
while (@row=$sth->fetchrow_array)
{
print qq~\n<HR COLOR = "#D73931">\n\n~;
print qq~<TABLE WIDTH = 60% BORDER = 0>\n~;
print qq~<TR><TD = 20% ROWSPAN = 7><A HREF =
"http://localhost:8080/wholesalegallery/galleryphotos/fullsize/~;
print qq~$row[2].jpg~;
print qq~"><IMG SRC =
"http://localhost:8080/wholesalegallery/galleryphotos/thumbs/$row[2]~;
print qq~.jpg"></TD></TR>\n~;
print qq~<TR><TD = 80%>Product name: $row[0]</TD></TR>\n~;
print qq~<TR><TD = 80%>Description: <BR><BR>$row[6]<BR><BR></TD></TR>\n~;
print qq~<TR><TD = 80%>Artist: $row[1]</TD></TR>\n~;
print qq~<TR><TD = 80%>Price: \$~;
printf "%.2f", $row[3];
print qq~</TD></TR>\n~;
if ($row[4] == 1)
{
print qq~<TR><TD WIDTH = 80%>SOLD</TD></TR>\n~;
print qq~<TR><TD WIDTH = 80%></TD></TR>\n~;
}
else
{
print qq~<TR><TD>FOR SALE</TD></TR>\n~;
print qq~<TR><TD WIDTH = 80%>BUY <INPUT TYPE = CHECKBOX NAME = $row[5]></TD></TR>\n~;
}
print qq~</TABLE>\n~;
}
print qq~<HR COLOR = "#D73931">\n~;
print qq~<INPUT TYPE=SUBMIT VALUE="Order">\n~;
print qq~</FORM>\n~;
print qq~</BODY>\n~;
print qq~</HTML>\n~;
My system is a PII-300 mhz with 96 megs ram.
Windows 98
ActiveState Perl
Apache Web Server
Please ignore my ugly code. I'm new and I just want to get this going before I worry
about making it "beautiful".
And while you're looking at it. Is there a way to pass the NAME (not the value) of
the "buy" checkbox to another cgi script?
Thanks for your help.