ok desolé c vrai que sans code c pas évident
En fait il s'agit d'une application intranet dont l'objectif est de gérer grâce à une base de données mysql differentes données concernant des personnes, des evenements etc ....
le soucis c que le calendrier n'est pas fonctionnelle en local , dailleurs j'ai d'autres bugs qui apparaissent en local mais on ne les voit pas sur serveur
merci de jeter un oeil à mon code pour le pb du calendrier
J'ai un fichier fonctions.php contenant entre autre une fonction renvoyant la date :
// -------------------------------------------------------------------------------------------------
// Fonction renvoyant la date au format complet (samedi 07 janvier 2006 par exemple)
// -------------------------------------------------------------------------------------------------
function date_courante($id_jour,$num_jour,$id_mois,$annee){
if ($id_jour != "") {
//Choix du jour en fonction de l'id du jour et concaténation
if($id_jour==0){
$date="Dimanche";
}elseif($id_jour==1){
$date="Lundi";
}elseif($id_jour==2){
$date="Mardi";
}elseif($id_jour==3){
$date="Mercredi";
}elseif($id_jour==4){
$date="Jeudi";
}elseif($id_jour==5){
$date="Vendredi";
}elseif($id_jour==6){
$date="Samedi";
}
$date.=" ".$num_jour;
}
else {
$date=" ".$num_jour;
}
//Choix du mois en fonction de l'id du mois et concaténation
if($id_mois==1){
$date.=" Janvier";
}elseif($id_mois==2){
$date.=" Février";
}elseif($id_mois==3){
$date.=" Mars";
}elseif($id_mois==4){
$date.=" Avril";
}elseif($id_mois==5){
$date.=" Mai";
}elseif($id_mois==6){
$date.=" Juin";
}elseif($id_mois==7){
$date.=" Juillet";
}elseif($id_mois==8){
$date.=" Août";
}elseif($id_mois==9){
$date.=" Septembre";
}elseif($id_mois==10){
$date.=" Octobre";
}elseif($id_mois==11){
$date.=" Novembre";
}elseif($id_mois==12){
$date.=" Décembre";
}
$date.=" ".$annee;
//Renvoi de la date
return $date;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
un fichier /////////calendrier.php:///////////
<body background="../images/general/bg.gif">
<?
include("../inc/fonctions.php");
//Config.
$daybgcolor="#aaaaaa" ; // Couleur des jours de la semaine
$dombgcolor="#eeeeee" ; // Couleur du jour sélectionné
$error01 = "Erreur : date invalide";
// Mois
$month = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
// Première lettre des jours de la semaine
$day = array('D','L','M','M','J','V','S');
?>
<style>
#general
{
font-family: Arial;
font-size: 10pt;
}
a:link,a:active,a:visited
{
text-decoration:none;
color:#000000;
}
a:hover
{
text-decoration:underline;
color:#000000;
}
</style>
<script language='JavaScript'>
window.onload = initWindow;
//Initialise la taille et la position de la fenêtre Calendrier
function initWindow ()
{
var largeur=screen.availWidth;
var hauteur=screen.availHeight;
var demiL=((largeur-470)/2);
var demiH=((hauteur-320)/2);
window.resizeTo(200,270) ;
window.moveTo(demiL,demiH);
}
//Fonction de mise à jour du calendrier en fonction du mois ou de l'année sélectionné
function modifier (jour)
{
window.location.href="calendrier.php?mois="
+document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value
+"&jour=" + jour +"&annee="
+document.forms["calendrier"].elements['year'].options[document.forms["calendrier"].elements['year'].selectedIndex].value;
returnDate(jour);
}
function returnDate (jour)
{
//alert(document.forms["calendrier"].elements['year'].options[document.forms["calendrier"].elements['year'].selectedIndex].value);
//alert(document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value);
//alert(document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value);
/*
window.opener.document.forms["evenement"].elements["strDate"].value= date;
//window.opener.document.forms["evenement"].elements["numDate"].value= <? echo $annee.'-'.$mois.'-'.$jour; ?>;
window.close();
*/
}
<?
if (!isset($jour))
$jour = date("j") ;
if (!isset($mois))
$mois = date("m") ;
if (!isset($annee))
$annee = date("Y") ;
// nombre de jours par mois
$nbjmonth[0] = 31 ;
$nbjmonth[1] = ($annee%4==0?($annee%100==0?($annee%400?29:28):29):28) ;
$nbjmonth[2] = 31 ;
$nbjmonth[3] = 30 ;
$nbjmonth[4] = 31 ;
$nbjmonth[5] = 30 ;
$nbjmonth[6] = 31;
$nbjmonth[7] = 31 ;
$nbjmonth[8] = 30 ;
$nbjmonth[9] = 31 ;
$nbjmonth[10] = 30 ;
$nbjmonth[11] = 31 ;
if(!checkdate($mois,$jour,$annee))
{
echo "alert('$error01')\n" ;
$jour = date("j") ;
$mois = date("m") ;
$annee = date("Y") ;
}
// Calcul du jour julien et du numéro du jour
$HR = 0;
$GGG = 1;
if( $annee < 1582 ) $GGG = 0;
if( $annee <= 1582 && $mois < 10 ) $GGG = 0;
if( $annee <= 1582 && $mois == 10 && 1 < 5 ) $GGG = 0;
$JD = -1 * floor(7 * (floor(($mois + 9) / 12) + $annee) / 4);
$S = 1;
if (($mois - 9)<0) $S=-1;
$A = abs($mois - 9);
$J1 = floor($mois + $S * floor($A / 7));
$J1 = -1 * floor((floor($J1 / 100) + 1) * 3 / 4);
$JD = $JD + floor(275 * $mois / 9) + 1 + ($GGG * $J1);
$JD = $JD + 1721027 + 2 * $GGG + 367 * $annee - 0.5;
$jj = (($JD+.5)%7) ;
?>
</script>
<form name='calendrier'>
<table width='170' cellspacing='0' cellspading='0' border='0'>
<tr>
<!-- Affichage de la sélection du mois et de l'année -->
<td>
<select name="month" onChange="modifier(<? echo $jour; ?>); ">
<?
for ($i=0;$i<12;$i++)
{
echo "<option value='".($i+1)."'".($mois==($i+1)?" selected":"").">".$month[$i]."</option>\n" ;
}
?>
</select>
</td>
<td align='right'>
<select name="year" onChange="modifier(<? echo $jour; ?>); ">
<?
$y = date("Y") ;
for ($i=$y;$i<$y+20;$i++)
{
echo "<option value='$i'".($annee==($i)?" selected":"").">$i</option>\n" ;
}
?>
</select>
</td>
</tr>
<tr><td colspan='2'> </td></tr>
<tr>
<td colspan='2' bordercolor="#00FF00">
<table width='100%' cellspacing='0' cellspading='0' border='0'>
<tr>
<?
// Affichage des jours
for($i=0;$i<7;$i++)
{
echo "<td width='14%' bgcolor='$daybgcolor' align='center'><font id='general'>".$day[$i]."</font></td>" ;
}
?>
</tr>
<tr>
<?
// Première ligne des jours
$j = $jj ;
$dom = 1 ;
for ($i=0;$i<7;$i++) {
if ($j<=$i) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":"")."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else {
echo "<td align='center' > </td>\n" ;
}
}
?>
</tr>
<?
// Le reste
for ($i=0;$i<5;$i++) {
echo "<tr>\n" ;
for ($j=0;$j<7;$j++) {
$j_inac = ($j==0 || $j==6) ;
if($dom < $nbjmonth[($mois-1)]) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":($j_inac ?" ":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else if (checkdate($mois,$dom,$annee)) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":($j_inac ?" ":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else {
echo "<td align='center' > </td>\n" ;
}
}
echo "</tr>\n" ;
}
$date = date_courante('',$jour,$mois,$annee);
?>
</table>
</td>
</tr>
<tr>
<td colspan='10' align='center'>
<input type='button' onclick='window.opener.document.forms["evenement"].elements["strDate"].value="<? echo $date; ?>";
window.opener.document.forms["evenement"].elements["numDate"].value="<? echo $annee.'-'.$mois.'-'.$jour; ?>";
window.close()' value='Valider'>
<input onclick='window.close()' type='button' value='Annuler'>
</td>
</tr>
</table>
</form>
</body>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
et je fais appel a ce calendrier ds mon formulaire //////evnts.php://///////
<body background="../images/general/bg.gif">
<?
include("../inc/fonctions.php");
//Config.
$daybgcolor="#aaaaaa" ; // Couleur des jours de la semaine
$dombgcolor="#eeeeee" ; // Couleur du jour sélectionné
$error01 = "Erreur : date invalide";
// Mois
$month = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
// Première lettre des jours de la semaine
$day = array('D','L','M','M','J','V','S');
?>
<style>
#general
{
font-family: Arial;
font-size: 10pt;
}
a:link,a:active,a:visited
{
text-decoration:none;
color:#000000;
}
a:hover
{
text-decoration:underline;
color:#000000;
}
</style>
<script language='JavaScript'>
window.onload = initWindow;
//Initialise la taille et la position de la fenêtre Calendrier
function initWindow ()
{
var largeur=screen.availWidth;
var hauteur=screen.availHeight;
var demiL=((largeur-470)/2);
var demiH=((hauteur-320)/2);
window.resizeTo(200,270) ;
window.moveTo(demiL,demiH);
}
//Fonction de mise à jour du calendrier en fonction du mois ou de l'année sélectionné
function modifier (jour)
{
window.location.href="calendrier.php?mois="
+document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value
+"&jour=" + jour +"&annee="
+document.forms["calendrier"].elements['year'].options[document.forms["calendrier"].elements['year'].selectedIndex].value;
returnDate(jour);
}
function returnDate (jour)
{
//alert(document.forms["calendrier"].elements['year'].options[document.forms["calendrier"].elements['year'].selectedIndex].value);
//alert(document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value);
//alert(document.forms["calendrier"].elements['month'].options[document.forms["calendrier"].elements['month'].selectedIndex].value);
/*
window.opener.document.forms["evenement"].elements["strDate"].value= date;
//window.opener.document.forms["evenement"].elements["numDate"].value= <? echo $annee.'-'.$mois.'-'.$jour; ?>;
window.close();
*/
}
<?
if (!isset($jour))
$jour = date("j") ;
if (!isset($mois))
$mois = date("m") ;
if (!isset($annee))
$annee = date("Y") ;
// nombre de jours par mois
$nbjmonth[0] = 31 ;
$nbjmonth[1] = ($annee%4==0?($annee%100==0?($annee%400?29:28):29):28) ;
$nbjmonth[2] = 31 ;
$nbjmonth[3] = 30 ;
$nbjmonth[4] = 31 ;
$nbjmonth[5] = 30 ;
$nbjmonth[6] = 31;
$nbjmonth[7] = 31 ;
$nbjmonth[8] = 30 ;
$nbjmonth[9] = 31 ;
$nbjmonth[10] = 30 ;
$nbjmonth[11] = 31 ;
if(!checkdate($mois,$jour,$annee))
{
echo "alert('$error01')\n" ;
$jour = date("j") ;
$mois = date("m") ;
$annee = date("Y") ;
}
// Calcul du jour julien et du numéro du jour
$HR = 0;
$GGG = 1;
if( $annee < 1582 ) $GGG = 0;
if( $annee <= 1582 && $mois < 10 ) $GGG = 0;
if( $annee <= 1582 && $mois == 10 && 1 < 5 ) $GGG = 0;
$JD = -1 * floor(7 * (floor(($mois + 9) / 12) + $annee) / 4);
$S = 1;
if (($mois - 9)<0) $S=-1;
$A = abs($mois - 9);
$J1 = floor($mois + $S * floor($A / 7));
$J1 = -1 * floor((floor($J1 / 100) + 1) * 3 / 4);
$JD = $JD + floor(275 * $mois / 9) + 1 + ($GGG * $J1);
$JD = $JD + 1721027 + 2 * $GGG + 367 * $annee - 0.5;
$jj = (($JD+.5)%7) ;
?>
</script>
<form name='calendrier'>
<table width='170' cellspacing='0' cellspading='0' border='0'>
<tr>
<!-- Affichage de la sélection du mois et de l'année -->
<td>
<select name="month" onChange="modifier(<? echo $jour; ?>); ">
<?
for ($i=0;$i<12;$i++)
{
echo "<option value='".($i+1)."'".($mois==($i+1)?" selected":"").">".$month[$i]."</option>\n" ;
}
?>
</select>
</td>
<td align='right'>
<select name="year" onChange="modifier(<? echo $jour; ?>); ">
<?
$y = date("Y") ;
for ($i=$y;$i<$y+20;$i++)
{
echo "<option value='$i'".($annee==($i)?" selected":"").">$i</option>\n" ;
}
?>
</select>
</td>
</tr>
<tr><td colspan='2'> </td></tr>
<tr>
<td colspan='2' bordercolor="#00FF00">
<table width='100%' cellspacing='0' cellspading='0' border='0'>
<tr>
<?
// Affichage des jours
for($i=0;$i<7;$i++)
{
echo "<td width='14%' bgcolor='$daybgcolor' align='center'><font id='general'>".$day[$i]."</font></td>" ;
}
?>
</tr>
<tr>
<?
// Première ligne des jours
$j = $jj ;
$dom = 1 ;
for ($i=0;$i<7;$i++) {
if ($j<=$i) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":"")."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else {
echo "<td align='center' > </td>\n" ;
}
}
?>
</tr>
<?
// Le reste
for ($i=0;$i<5;$i++) {
echo "<tr>\n" ;
for ($j=0;$j<7;$j++) {
$j_inac = ($j==0 || $j==6) ;
if($dom < $nbjmonth[($mois-1)]) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":($j_inac ?" ":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else if (checkdate($mois,$dom,$annee)) {
echo "<td align='center' ".($dom==$jour?" bgcolor='$dombgcolor'":($j_inac ?" ":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
}
else {
echo "<td align='center' > </td>\n" ;
}
}
echo "</tr>\n" ;
}
$date = date_courante('',$jour,$mois,$annee);
?>
</table>
</td>
</tr>
<tr>
<td colspan='10' align='center'>
<input type='button' onclick='window.opener.document.forms["evenement"].elements["strDate"].value="<? echo $date; ?>";
window.opener.document.forms["evenement"].elements["numDate"].value="<? echo $annee.'-'.$mois.'-'.$jour; ?>";
window.close()' value='Valider'>
<input onclick='window.close()' type='button' value='Annuler'>
</td>
</tr>
</table>
</form>
</body>