You're right! I thought that sounded a little odd so I ran the following test:
<html><body>
<form action="http://johnny.warp.psi.br/cgi-bin/test.pl">
<input type="text" name="field1">
<input type="checkbox" name="field2" value="on">
<input type="submit">
</form>
</body>
</html>
If this form is submitted with everything blank, curiously the text input gets carried as null, but the checkbox
is undef! QUERY_STRING : field1=
I don't see where the consistency is here, but that was something I had never really noticed.