Le hice unas modificaciones al codigo y no necesitas de un archivo extra.
Ojo: $pageN es el nombre del mismo archivo php Código PHP:
<table>
<?php
$pageN = "test2.php";
$arrMes = array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$mes = $_GET['m'];
$ano = $_GET['a'];
if(!isset($mes) || !isset($ano)){
$ano = date("Y");
$mes = date("n");
}
$ultimo = intval(date("t",mktime(0, 0, 0, $mes, 1, $ano)));
if($mes == '12'){
$next = 1;
$prev = $mes-1;
$anon = $ano+1;
$anop = $ano;
}elseif($mes == '1'){
$next = $mes+1;
$prev = 12;
$anon = $ano;
$anop = $ano-1;
}else{
$next = $mes+1;
$prev = $mes-1;
$anop = $ano;
$anon = $ano;
}
echo '
<tr>
<th colspan="7">'.$ano.'</th>
</tr>
<tr>
<tr>
<td><a href="'.$pageN.'?m='.$prev.'&a='.$anop.'">«</a></td>
<th colspan="5">'.$arrMes[$mes].'</th>
<td><a href="'.$pageN.'?m='.$next.'&a='.$anon.'">»</td>
</tr>
<tr>
<td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td><td>D</td>
</tr>';
$diaa = 1;
$flag = true;
while($diaa <= $ultimo){
$dia = date("N",mktime(0,0,0,$mes,$diaa,$ano)); # retorna el día de la semana en numero... 1 lunes a 7 domingo
$fecha = intval(date("d",mktime(0,0,0,$mes,$diaa,$ano))); #retorna el día del mes en 01/31
if($dia == 1){
echo '
</tr>
<tr>';
}
if($dia > 1 && $flag){
$i = 1;
while($i < $dia){
echo '
<td> </td>';
$i++;
}
$flag = false;
}else{
$flag = false;
}
echo '
<td>'.$fecha.'</td>';
$diaa++;
}
echo '
</tr>';
?>
</table>
Suerte!