The $GLOBALS array contains ALL the globals in your script - not just the form values. So yeah, there is a bit of a performance downgrade because you're importing more globals than you need.
There is another global array that contains the form values: $HTTP_GET_VARS (or $GET after PHP4.1.0) and $HTTP_POST_VARS (or $POST after 4.1.0). So you can do:
function form_check() {
global $HTTP_POST_VARS;
if ($HTTP_POST_VARS["first_name"] == "") {
print "Input a name!";
}
}
Note that $GET and $POST are superglobals - i.e. you don't need to put "global $_POST" inside a function; you can access it directly.
Diego