Yes. In the first version (which can be achieved without the $PHP_SELF variable; a method of "" will point the browser back to the same file, with the posted info.) will have to have to be coded to discern whether or not there is information posted. the second does as well, but the difference is how it's handled. The second should return an error if empty(x) is true, telling to fill all fields, but the first should only do this if isset(x) is false, otherwise, it will display the original form.
I prefer the first method, as it creates a more monolithic form. The creation and handling of the form can be taken care of somewhere else, but all the UI portion can be handled by a single file, and you don't have to tell users to hit back to fill in the missing info.