mercoledì 8 giugno 2011

Visualizzare il calcolo della Pasqua!!!!

HTML
<html>
 <head>
  <title>Calcolo dei giorni della Pasqua cristiana</title>
 </head>
 <body>
 <center>
 <h2>Digitare gli anni per il calcolo della Pasqua</h2>
 <form action="pasqua_2.php" method="POST">
 1<sup>o</sup> anno: <input name="anno1"><br>
 2<sup>o</sup> anno: <input name="anno2"><p>
 <input type="submit" value="Invia">
 <input type="reset" value="Cancella">
 </form>
 </center>
 </body>
</html>


PHP
<?php
 //Inizializzazione delle variabili
 $anno1=$_POST['anno1'];
 $anno2=$_POST['anno2'];

 //Controllo che $anno1 e $anno2 siano interi e <=8202 e >=1583
 if($anno1-floor($anno1)==0 and $anno2-floor($anno2)==0 and $anno1>1582 and $anno2>=1583 and $anno1<=8202 and $anno2<=8202) {

 //Se $anno1>$anno2 scambio
 if($anno1>$anno2) {
 $transito=$anno1;
 $anno1=$anno2;
 $anno2=$transito;
 }

 //Intestazione della tabella
 echo "<h2><center>Giorni della Pasqua da $anno1 a $anno2</center></h2>";
 echo "<table border='1' align='center'>
  <tr>
   <td>Giorno</td>
   <td>Mese</td>
   <td>Anno</td>
  </tr>";

 //Ciclo di iterazione FOR
 for($A=$anno1;$A<=$anno2;$A++) {

  //Calcolo di $d
  $d=((15+floor($A/100)-floor($A/400)-(8*floor($A/100)+13)/25)%30+19*($A%19))%30;
 
  //Calcolo di $D
  if($d==29) $D=28;
  else if($d==28 and $A%17>=11)$D=27;
  else $D=$d;
 
  //Calcolo di $e
  $e=(2*($A%4)+4*($A%7)+6*$D+(6+floor($A/100)-floor($A/400)-2)%7)%7;
 
  //Calcolo del giorno della Pasqua
  $pasqua=21+$e+$D+1;
  $mese="Marzo";
  if($pasqua>31) {
   $mese="Aprile";
   $pasqua=$pasqua-31;
   }
   echo "<tr>
     <td>$pasqua</td>
     <td>$mese</td>
     <td>$A</td>
      </tr>";
  }
  echo"</table>";
 }
  else echo "ERRORE!!!Ridigitare...<br>";
 ?>

Nessun commento:

Posta un commento