Oh good God, that was stupid. I figured out the problem. Although I don't konw why IE & FireFox behave differently, this is what the situation was:
Every page on my site has a left border menu written in JavaScript. Included in that menu is a randomly-selected image.
Once the person clicks the submit button and goes to the confirmation screen (the same page that sends the e-mails), the randomly-selected image is displayed again on the left menu.
The JavaScript code for that image tag was:
Quote:
document.write(' <img id="randompicimg" name="randompicimg" src="" height="50px" width="50px">');
|
The picture filename and the link (to the full-size picture) were intentionally left blank, because further down the page there is code that fills it in.
It appears that when given an IMG tag with no associated file, the browsers treat the "image" differently:
In Internet Explorer:
The right-click "Properties" of the missing image in IE is attached as "ie_missingimageproperties2.JPG". If the SRC of the IMG tag is "", IE substitutes the current folder URL, and shows a "broken" image:

In effect, IE treats the IMG tag like (italics is an example):
Since it can't display an HTML file as an image, it displays the 'broken image' picture.
In FireFox:
The right-click "Properties" of the missing image in FireFox is attached as "ff_missingimageproperties2.JPG". If the SRC of the IMG tag is "", FireFox substitutes the current filename URL, and shows a broken image:
In effect, FireFox treats the IMG tag like (italics is an example):
Since it can't display an HTML file as an image, it displays the 'broken image' picture.
Because FireFox replaces a missing IMG SRC with the URL of the current page, and the current page is the "form.cgi" file that grabs the form data, sends the e-mails and displays the confirmation screen, the CGI script gets run twice: the first one as expected, the 2nd one in the blank image spot with no POST data, and shows as a GET instead.
So, to resolve the problem, I substituted the code with:
Quote:
document.write(' <img id="randompicimg" name="randompicimg" src="blank.gif">');
|
where "blank.gif" is a 1x1-pixel white box, until the script further down the page places the correct random picture in the spot.
This way, FireFox doesn't run the script a 2nd time from the IMG tag.
The most annoying thing about this problem is that I didn't think the IMG tag would have anything to do with how the form got submitted.