Generally, to test an input, you will use [man]ereg[/man] or [man]eregi[/man], or if you prefer PCRE* over POSIX Standards, [man]preg_match[/man].
If you are reasonably sure that they are inputting the date in a readable format (say, for example, you're using HTML selects instead of text inputs) then you would simply test the value of checkdate in your handler script.
if (!checkdate($_POST['month'], $_POST['day'], $_POST['year'])) {
die("The date is not valid.");
}
*PCRE = "Perl Compatible Regular Expressions", which use a different syntax and are said to be faster .... I barely get by with POSIX Std, myself....