El código que publicas está muy cerca de lo que buscas, y en realidad es bien interesante :). La llamada a
mktime() es bastante acertada, pero el valor que devuelve es una marca de tiempo Unix, cosa que no sirve para tu resultado.
Una forma de llegar a lo que quieres, es entregar el valor que devuelve
mktime() a la función
date(), de modo que ésta produzca el valor de día a partir de la marca de tiempo.
Por ejemplo:
Código PHP:
$VL_Ano = date ('Y');
$VL_Mes = $_REQUEST['cbMes'];
if (strlen ($VL_Mes) == 1) {
$VL_Mes = '0' . $VL_Mes;
}
$FechaIni = $VL_Mes . '/01/' . $VL_Ano;
// Esta es la sentencia relevante
$VL_UltDia = date ('d', mktime (0, 0, 0, $VL_Mes + 1, 0, $VL_Ano));
$FechaFin = $VL_Mes . '/' . $VL_UltDia . '/' . $VL_Ano;