pb changement mois calendrier php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb changement mois calendrier php

par iclo » 27 avr. 2005, 13:57

par peet » 27 avr. 2005, 13:43

olallala c compliké ce truc. Il me faut de precision.
Je suis ke debutant
MErci

par Ripat » 27 avr. 2005, 08:58

Si tu fais pointer ton url vers la même page, il faut récupérer les valeurs du GET dans la variable superglobale $_GET['dt'] quelque part dans ton script. Si la varaible de configuration register_globals est sur off, tu en as besoin.

Il ne me semble pas l'avoir vu dans ton code.

PS: fais un edit de ton post et mets les balises php pour coloriser. Ce sera plus lisible.

pb changement mois calendrier php

par Peet » 27 avr. 2005, 08:37

Bonjour, je commence a programmer en ohp et je dois mettre en place un calendrier. Le pb est que je n'arrive pas a naviguer entre les mois de l'annee avec les fleches ! Dans l'url, on peut vois le passage de parametres.
Par exemple, on est en Avril et quand je clique sur la fleche gauche pour avoir le mois précedent (Mars) rien ne se passe et dans l'url on a bien : ?dt=2005+03+27.
Le pb vient peut etre des href ?!

Merci e jeter un coup d'oeil et de m'aider à m'en sortir

<?

$tabmonth = Array("Janvier", "F&eacute;vrier", "Mars", "Avril", "Mai", "Juin","Juillet", "Ao&ucirc;t", "Septembre", "Octobre", "Novembre","D&eacute;cembre");
$tabday = Array("Lun", "Mar", "Mer", "Jeu", "Ven", "Sam","Dim");

// selectionne la date d aujourd hui
if (!$dt){
$year = date("Y");
$now = date("Y/m/d");
$month = date("n");
$day = date("d");
}else{
$data=explode(" ",$dt);
$year=$data[0];
$month=$data[1];
$day=$data[2];
$now=date("Y/m/d", mktime(0,0,0,$month,$day,$year));
}
$moyear=$tabmonth[$month-1]."&nbsp;&nbsp;".$year;
?>

<table WIDTH="550" height="220" BORDER="0" CELLSPACING="0" CELLPADDING="2">
<tr>
<td CLASS='titremois' colspan="8" ALIGN="center">
<?

$lien1=date("Y+m+d", mktime(0,0,0,$month-1,$day,$year));
echo "<A CLASS='titremois' href=\"?dt=$lien1\"><<</a>";

echo "<A CLASS='titremois'>&nbsp;$moyear&nbsp;</a>";

$lien2=date("Y+m+d", mktime(0,0,0,$month+1,$day,$year));
echo "<A CLASS='titremois' href=\"?dt=$lien2\">>></a>";
?>
</td>
</tr>

<tr>
<?
echo"<td WIDTH=30 class='titreweek' ALIGN='center'>NumSem</td>\n";
for ($i=0;$i<7;$i++) {
echo"<td WIDTH=20 class='titrejours' ALIGN='center'>$tabday[$i]</td>\n";
}
?>
</tr>

<?
$num_day=date("w", mktime(0,0,0,$month,01,$year));
if($num_day==0){$num_day=7;}
$max_day=date("t", mktime(0,0,0,$month,01,$year));
$cpt_day=2;
while ($cpt_day<=$max_day+$num_day) {
echo "<tr>";

// calcul le numero de semaine

$nb_day=date("z", mktime(0,0,0,$month,$cpt_day$num_day+3,$year));

$val=intval($nb_day/7)+1;
echo "<td WIDTH=20 class='titreweek2' ALIGN='center'>".(($val < 10) ? "0".$val : $val)."</td>\n";

// affiche les jours du mois

for ($i=0;$i<7;$i++) {
$theday=date("D", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
$val=date("d", mktime(0,0,0,$month,$cpt_day-$num_day,$year));
$class="titrenum";

if ($now==date("Y/m/d",mktime(0,0,0,$month,$cpt_day-$num_day,$year))){ $class="titrenow";}
if ((($cpt_day-$num_day)<1) or (($cpt_day-$num_day)>$max_day)){
$class="titrenum2";
}
$cpt_day++;
echo "<td WIDTH=20 class='$class'ALIGN='center'>".$val."
</td>\n";
}
echo "</tr>";

}
?>