Hello there. At the risk of going mad, I decided to post here instead and hear an explanation from the horse's mouth, so to speak. What it is, is on a checkout confirmation page that I am working on several things take place: a receipt is printed the order status is updated and items are assigned to an orderItems table session variables for checkout are destroyed basket is emptied CC data is dismissed What happens is that some versions of firefox load the page twice - so close to each other it's almost simultaneous. As a result, one of two things tends to happen: 1. as CC data is removed and basket is emptied, certain sanity/permissions checks for why the user is at checkout take place and redirect the user elsewhere (for example, to the enter your credit card details page or to the basket page -- if it has no items left, no reason to cehckout.) 2. if the session cleanup is performed afterwards via ajax/iframe or whatever, it tends to assign same items to the order twice. anyway, to cut a long story short: i need firefox to stop double loading this page Having read on google about this, apparently there's a WC3 directive under which it's supposed to dual load if certain tags come empty or broken, for example, a <img /> without a src="" etc. That being said, I saved off the rendered HTML on receipt and moved it into a static file, where I added the same headers as the real checkout and a small DB log of all accesses. https://www.webtogs.co.uk/confirmTest.php It passes WC3 validation for its transitional doctype. All of the CSS background images referenced are in place. I can't find anything that's wrong with it - unless this is due to google analytics or other javascript inserting elements into the DOM - but I doubt it, the requests take place so close after each other that they would not have had a chance to get to a onload/domready event, fetch remote scripts and find a problematic img. I have also tried loading the page w/o any JS referenced and w/o any CSS referenced, to no avail. Same as when I remove all css and js at same time. Can anybody please look at the source and try to tell me what element is confusing firefox and making it fetch the file twice? I really can't find anything wrong... And yes, I am aware I can work around this but this is not the point... i need to know what causes the problem in order to avoid it in the future. additionally, this problem does not get reproduced under the following: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (vista 3.0.6) and nightly builds under vista that i know of: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.8pre) Gecko/2009022306 GranParadiso/3.0.8pre Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.8pre) Gecko/2009022505 GranParadiso/3.0.8pre plugins installed on boxes that do have it: none, or firebug, or firebug + live http headers - no difference. i have been able to reliably reproduce it on every single XP box I have tried it on thus far and on none of the vista ones... isnt the code base identical? the headers captured are: which then look like this in apache logs: if you load the linked page and see two entries against your hostname, please let me know also - in particular if its not on XP. thanks in advance for any ideas...
If you are using HEADER() do not forget to add exit; after it: header ("Location: fdsa.php"); exit; PHP: That will prevent that the code after (which may contain other header() requests) are processed.