I'll add this thread to the "list".
One thing to note is that IE's behaviour contravenes the specification for HTML form processing indicated here: http://www.w3.org/TR/html4/interact/...html#h-17.13.2
(which will come as no surprise to any client developer :P).
From the PHP world, you should actually check that every required field has been provided:
if (isset($_POST['username'], $_POST['password']))
For example. This kills 2 birds with one stone.