Maybe simply because your browser thinks like this...
"enter = send the form"
... but not...
"enter = send the form USING the submit button"
Since the user didn't click the submit button, the value isn't sent... personnally, what I do to detect a form has been sent is to use an hidden value...
<?
$actn = (isset($_REQUEST["actn"])) ? $_REQUEST["actn"] : "";
switch($actn) {
case "value1":
// code...
break;
case "value2":
// code...
break;
default:
?>
<FORM ...>
<INPUT NAME="actn" VALUE="valuex" TYPE="HIDDEN">
Your name : <INPUT .....
...............
..............
<INPUT VALUE="Submit" TYPE="SUBMIT">
</FORM>
<?
}
?>