buondķ a tutti!!

ho un problema con il calendario che ho creato nella vista settimanale:
ogni volta alla fine/inizio del mese é come se impazzisse,mi viene regolarmente scritto il giorno della settimana e il numero ma in realtį quando clicco sopra al giorno scelto mi apre un altro giorno

ho provato a stampare sopra al giorno il timestamp e il relativo giorno e in effetti punta stranamente a un altro giorno,per esempio:

settimana prossima sopra martedķ mi riporta correttamente :

martedķ (31/3)

ma in realtį stampando il timestamp con reltia trasformazione risulta:

1430431200
1/5/2015
martedķ (31/3)

ecco il codice:
Codice PHP:
<?php
/*
            se l'ora della casella √© uguale a quella dell'ora di apertura la variabile di controllo passa a uno</br>
            tutte le celle con la variabile a 1 hanno un id riconoscibile per il css</br>
            se l'ora √© uguale all'ora di chiusura la variabile passa a 0</br>
            per l'ora laterale faccio la stessa cosa</br>
*/
?>

<?php 
    
//creo un array con solo gli orari di apertura presi dalla sessione(un valore  l'id e mi crea problemi,devo toglierlo)
$array_orari=$_SESSION['impostazioni'][0];
    
//tolgo il campo id e id_account perché mi danno problemi quando cerco il valore min nell'array
unset($array_orari['id']);
unset(
$array_orari['id_account']);
unset(
$array_orari['fondo_cassa']);

?>

    <!-- IMPOSTAZIONI GENERALI -->
<?php
        
//trovo l'ora pi√∫ alta e la pi√∫ bassa per l'apertura e chiusura
    
$oraApertura=min($array_orari); 
    
$oraChiusura=max($array_orari);
        
//massimo di ore di lavoro al giorno
    
$oreLavoro=$oraChiusura-$oraApertura;
        
//minuti di lavoro al giorno
    
$minutiLavoro=$oreLavoro*60;
        
//imposto il taglio delle ore (30mn,15mn)
    
$lasso=30;
        
//calcolo quante righe avr√° la tabella
    
$orario=$minutiLavoro/$lasso;
        
//rendo il risultato compatibile con il mio array dei giorni
    
$giornoSettimanaNum=$config->get_numeroGiornoSettimana() -1;
        
//recupero il nome dei giorni della settimana senza accenti per chiamare le variabili
    
$giorni_impostazioni=$config->get_giorniSettimana_impostazioni(); 
        
//recupero il nome dei giorni della settimana
    
$giorni=$config->get_giorniSettimana(); 
        
//creo la variabile che far√≥ incrementare con il lasso  per calcolare il timestamp 
    
$minuti=0;
?>

    <!-- IMPOSTAZIONI ORARIO -->
<?php
    
//creo l'array per il controllo
$controllo=array();
    
//riempo l'array
for($i 1$i <=7$i++) : 
$controllo[$giorni_impostazioni[$i]]=0;
endfor;
?>

<?php
        
//in caso non sia stata passata la variabile della settimana imposto quella corrente
    
if(isset($_REQUEST['data']) && !empty($_REQUEST['data'])) :
            
        
$data=$_REQUEST['data'];

    else :

        
$data=$config->get_data();

    endif;

            
//imposto le variabili per navigare nelle settimane
        
$avanti=$data+604800;
        
$indietro=$data-604800;
            
                
//creo l'array che conterr√° il timestamp di ogni giorno della settimana
            
$timestampSettimana= array(); 
            
                
//creo la variabile contenente il giorno odierno
            
$time=$data;
            
                    
//scorro l'array indietro fino al luned√≠ della settimana
                
for($a=$giornoSettimanaNum;$a>=0;$a--) :

                    
$timestampSettimana[$a]=$time;
                    
$time=$time-86400;

                endfor;

                    
//riporto la variabile al giorno di oggi
                
$time=$data+86400;
                
                    
//scorro larray avanti fino alla domenica della settimana
                
for($a=$giornoSettimanaNum+1;$a<=6;$a++) :
                
                    
$timestampSettimana[$a]=$time;
                    
$time=$time+86400;
                
                endfor;
                
            
            
?>


                <!-- BARRA NAVIGAZIONE -->
            <a href="?s=agenda&show=week&data=<?php echo $indietro ?>"> << </a>
                 <?php echo date("n/Y",$data?> 
            <a href="?s=agenda&show=week&data=<?php echo $avanti ?>"> >> </a>
            
<section class='week'>
    <table>
        <thead>
            <tr>
                    <!-- CASELLA VUOTA,RIMANE SOPRA 'LA COLONNA DELL'ORARIO -->
                <th>
                                
                </th>
                            <!-- STAMPO L'INTESTAZIONE CON IL NOME DEI GIORNI DELLA SETTIMANA -->
                        <?php for($i 0$i count($giorni); $i++) : ?>
                                
                        <th>
                                    <!-- RENDO IL GIORNO CLICCABILE PER APRIRLO NELLA VISTA GIORNALIERA -->
                                 <a  href="?s=agenda&show=day&data=<?php echo  mktime(0,0,0,date("n",$data),date("j",$timestampSettimana[$i]),date("Y",$data));  ?> ">
                                            <?php  echo  mktime(0,0,0,date("n",$data),date("j",$timestampSettimana[$i]),date("Y",$data));  ?>
                                            <?php echo  date("j/n/Y",mktime(0,0,0,date("n",$data),date("j",$timestampSettimana[$i]),date("Y",$data)));  ?></br>
                                            <!-- STAMPO IL NOME DEL GIORNO CON LA DATA -->
                                         <?php echo $giorni[$i]; ?>  (<?php echo date("j/n",$timestampSettimana[$i]); ?>)
                                </a>
                        </th>
                            <?php endfor; ?>
                            
                        </tr>
        </thead>
        <tbody>
                        <!-- ESEGUO UN CICLO FOR PER TUTTE LE RIGHE PRESENTI -->
                    <?php for($contatore=0;$contatore<=$orario;$contatore++) : ?>
                        
                                 <!-- CREO IL TIMESTAMP,LASCIO INVARIATA  L'ORA PARTENDO DALL'APERTURA E AUMENTO SOLO I MINUTI A FINE CICLO  -->
                            <?php $ora=mktime ($oraApertura,$minuti,0,0,0,0); ?>
                                
                                <!-- RECUPERO LA DATA FORMATTATA DAL TIMESTAMP CREATO IN RECEDENZA -->
                            <?php $ora=date("G:i",$ora); ?>
                            
                            <tr>
                                <td>
                                    <?php echo $ora?> 
                                </td>
                                
                                            <!-- CREO IL CICLO FOR PER STAMPARE I GIORNI DELLA SETTIMANA -->
                                        <?php for($i=0;$i<=6;$i++) : ?>
                                        
                                                        <!--QUI DOVREI METTERE LA STAMPA DEL GIORNO_IMPOSTAZIONI -->
                                                <?php 
                                                    
//trovo il giorno senza accento
                                                
$giorni_impostazioni[$i+1]; 
                                                    
//trovo il valore di apertura del giorno 
                                                
$apertura=$array_orari[$giorni_impostazioni[$i+1]."_start"].":00";
                                                    
//trovo il valore di chiusura del giorno 
                                                
$chiusura=$array_orari[$giorni_impostazioni[$i+1]."_end"].":00";
                                                    
//confronto l'apertura con l'ora interessata
                                                
if ($apertura==$ora){$controllo[$giorni_impostazioni[$i]]=1;}
                                                
                                                
                                                if(
$controllo[$giorni_impostazioni[$i]]==1):
                                                
                                                    
$classe="class='show-cell-agenda";
                                                    
                                                else:
                                                
                                                    
$classe="class='";
                                                    
                                                endif;
                                                
                                                if (
$chiusura==$ora){$controllo[$giorni_impostazioni[$i]]=0;}
                                                
?>
                                                
                                                        <!--CONTROLLO SE LA CASELLA CORRISPONDE AL GIORNO ODIERNO -->
                                                     <?php  if(date("j/n/Y",$timestampSettimana[$i])==date("j/n/Y",time()) ) : ?>

                                                            <?php $classe.=" today'"?>

                                                    <?php else : ?>

                                                            <?php $classe.="'"?>

                                                    <?php endif; ?>
                                                                                        
                                                <td <?php echo $classe?> id="<?php echo $giorni[$i]; ?>">
                                                
                                                
                                                
                                                        <!-- CONTROLLO SE CI SONO APPUNTAMENTI IN QUEL GIORNO/ORA -->
                                                     <?php $query  =$config->DB_select("agenda","ora='$ora'  AND  data='".date("j/n/Y",$timestampSettimana[$i])."'"); ?>
                                                    
                                                        <!-- CONTROLLO SE CI SONO APPUNTAMENTI CON LE CLIENTI FISSE-->
                                                    <?php if($config->get_clienti_fisse()==1){    ?>
                                                        
                                                         <?php  $query_fissa =$config->DB_select("agenda_fissa","ora='$ora'  AND  data='".date("N",$timestampSettimana[$i])."'"); ?>
                                                        
                                                                <!-- ESEGUO UN CICLO FOR PER STAMPARE GLI APPUNTAMENTI -->
                                                            <?php
                                                            
                                                                
for($u=0;$u<count($query_fissa);$u++) :
                                            
                                                                    
$id=$query_fissa[$u]['id'];
                                                                    
$nome=$query_fissa[$u]['nome'];
                                                                    
$lavoro=$query_fissa[$u]['lavoro'];
                                                                    
                                                                    
agenda_appuntamento_week($id,$nome,$lavoro);
                                                                                    
                                                                endfor;
                                                                }
                                                    
                                                    
                                                                for(
$a=0;$a<count($query);$a++) : 

                                                                    
$id=$query[$a]['id'];
                                                                    
$nome=$query[$a]['nome'];
                                                                    
$lavoro=$query[$a]['lavoro'];

                                                                     
agenda_appuntamento_week($id,$nome,$lavoro);

                                                                endfor;
                                                            
?>
                                                            
                                        <?php endfor; ?>
                            </tr>
                                            <!-- AUMENTO I MINUTI -->
                                        <?php $minuti=$minuti+$lasso?>
                        
                    <?php endfor ?>
        </tbody>
    </table>
</section>

spero di aver commentato in maniera "umana"
grazie!!