That doesn't actually work. The following is kind of brute-force,
but it does work:
<?php
function checkage($b_day,$b_month,$b_year)
{
//i asume your year format is 4 digits
if ($b_year < date("Y")-18)
$return = false;
else if ( $b_year < date("Y")-18 && ($b_month < date("n")
|| ($b_month == date("n") && $b_day < date("j"))))
$return=true;
else
$return=false;
if ($return)
echo "OK\r\n";
else
echo "Underage\r\n";
}
checkage( 15, 8, 1983 );
checkage( 16, 8, 1983 );
checkage( 17, 8, 1983 );
?>