Validate input of month/year, otherwise set it to current month/year
You may be over thinking it.  It's actually very simple.

The only ambiguous thing is if the year is two digits.  In most cases a two digit year can be fixed like this.  I believe in your use the month and year will be all be future and nothing from the 1900s. 

if (intval($optionsYear) &lt; 100){$optionsYear  = '20' . $optionsYear;}


Then to finish up:

$date = strtotime("$optionsYear-$optionsMonth-13"); // yyyy-mm-dd
if ($date){  // test validity, will be false if invalid
  $month = date('m',$date);  // invalid, use today's month and year.
  $year = date('Y',$date); 
}
else{
  $month = date('m');  // valid numbers entered
  $year = date('Y'); 
}


Because the day of the month is no an issue I used 13.  Not that it would but in dates the month and day can cause problems.  By using a day of 13 it cannot be confused with a month.  If a date were entered as 13/4/2015, it would not be difficult to understand 13 is a day and 4 is a month. Oct, Nov, Dec would still be ambiguous if entered as 10, 11, or 12.