begin process at 2012 05 31 04:07:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

petite erreur dans calendrier dynamique javascript!!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

petite erreur dans calendrier dynamique javascript!!!

mercredi 10 août 2005 à 17:30:18 | petite erreur dans calendrier dynamique javascript!!!

joduak

Salut à vous, j'ai un gros problème sur mon calendrier.
copier coller le dans un fichier php et lancez le, vous verrez qu'il y a 2 ptites erreurs.
J'arrive pas à les résoudre je galère comme un ouf lol
je suis débutant.


<?

//choix des couleurs
  $bgcolor="ffffff" ;        // Couleur de fond
  $daybgcolor="0000FF" ;     // Couleur des jours de la semaine
  $dombgcolor="FF0000" ;     // Couleur du jour sélectionné
  $dayholcolor="cccccc" ;     // Couleur des WE

  // Mois
  $month[0] = "January" ;
  $month[1] = "February" ;
  $month[2] = "March" ;
  $month[3] = "April" ;
  $month[4] = "May" ;
  $month[5] = "June" ;
  $month[6] = "July" ;
  $month[7] = "August" ;
  $month[8] = "September" ;
  $month[9] = "October" ;
  $month[10] = "November" ;
  $month[11] = "December" ;

  // Première lettre des jours de la semaine
  $day[0] = "S" ;
  $day[1] = "M" ;
  $day[2] = "T" ;
  $day[3] = "W" ;
  $day[4] = "T" ;
  $day[5] = "F" ;
  $day[6] = "S" ;

  $error01 = "Error : invalide date"

?>
<html>
<head>
<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.resizeTo(200,270) ;
 function modifier (jour)
 {
  window.location.href = "mycalendar.php?form=<?echo $form;?>&elem=<?echo $elem;?>&mois=" + document.forms["MyCalendar"].elements['month'].options[document.forms["MyCalendar"].elements['month'].selectedIndex].value + "&jour=" + jour +"&annee=" + document.forms["MyCalendar"].elements['year'].options[document.forms["MyCalendar"].elements['year'].selectedIndex].value

 }
<?
  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;



  /*$tmp = ((int)(($mois>2?$annee:$annee-1)/100)) ;
  $jj = (int)((((int)(365.25*($mois>2?$annee:$annee-1))) + ((int)(30.6001*($mois>2?$mois+1:$mois+13))) + $jour + 1720994.5 + ($annee > 1582 && $mois > 10 && $jour > 15?2-$tmp+((int)($tmp/4)):0))) ;
  $jj = (int)(($jj) % 7)*/
  $jj = (($JD+.5)%7) ;
?>
</script>
</head>
<?
  echo "<body bgcolor='#$bgcolor' onUnLoad=''>\n" ;

  echo "<center><form name='MyCalendar'>\n" ;
  echo "<table width='170' cellspacing='0' cellspading='0' border='0'><tr>\n" ;

  // Affichage de la sélection du mois et de l'année
  echo "<td><select name='month' onChange=\"modifier($jour)\">\n" ;

  for ($i=0;$i<12;$i++)
  {
   echo "<option value='".($i+1)."'".($mois==($i+1)?" selected":"").">".$month[$i]."</option>\n" ;
  }

  echo "</select></td>\n" ;

  echo "<td align='right'><select name='year' onChange=\"modifier($jour)\">\n" ;

  $y = date("Y") ;
  for ($i=$y-10;$i<$y+10;$i++)
  {
   echo "<option value='$i'".($annee==($i)?" selected":"").">$i</option>\n" ;
  }

  echo "</select></td></tr><tr><td colspan='2'>&nbsp;</td></tr>\n" ;

  echo "<tr><td colspan='2'><table width='100%' cellspacing='0' cellspading='0' border='0'>\n" ;
  echo "<tr>\n" ;

  // Affichage des jours
  for($i=0;$i<7;$i++)
  {
   echo "<td width='14%' bgcolor='#$daybgcolor'><font id='general'>".$day[$i]."</font></td>" ;
  }

  echo "</tr>\n<tr><td colspan='7'> </td></tr>\n<tr>\n" ;

  // Première ligne des jours
  $j = $jj ;//date ("w", mktime (0,0,0,$mois,1,$annee)) ;
  $dom = 1 ;
  for ($i=0;$i<7;$i++)
  {
   if ($j<=$i)
   {
        echo "<td".($dom==$jour?" bgcolor='#$dombgcolor'":"")."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
   }
   else
       echo "<td>&nbsp;</td>\n" ;
  }

  echo "</tr>\n" ;
  // 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".($dom==$jour?" bgcolor='#$dombgcolor'":($j_inac ?" bgcolor='#$dayholcolor'":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>\n" ;
    else if (checkdate($mois,$dom,$annee))
         echo "<td".($dom==$jour?" bgcolor='#$dombgcolor'":($j_inac ?" bgcolor='#$dayholcolor'":""))."><a href='javascript:modifier($dom)'><font id='general'>".$dom++."</font></a></td>" ;
    else
         echo "<td>&nbsp;</td>\n" ;

   }
   echo "</tr>\n" ;
  }
 
  echo "<tr><td colspan='10' align='center'><input type='button' onclick='window.opener.document.forms[\"$form\"].elements[\"$elem\"].value=\"$jour-$mois-$annee\";window.close()' value='Choose'>&nbsp;&nbsp;<input onclick='window.close()' type='button' value='Cancel'></td></tr></table>" ;

  echo "\n</tr></table>\n" ;

  echo "</td></tr></table>" ;
  echo "</form></center>" ;

  echo "</body>\n" ;
?>
</html>


mercredi 10 août 2005 à 17:39:37 | Re : petite erreur dans calendrier dynamique javascript!!!

arnal69130

Salut,
Tu veux pas nous les donner plutôt les erreurs ?
Tu sais que t'es en train de réinventer l'eau chaude avec toutes tes manipulations de date... si c'est pour t'entrainer, c'est bien, sinon regrde la doc php sur les dates

Arn;o)
mercredi 10 août 2005 à 18:03:35 | Re : petite erreur dans calendrier dynamique javascript!!!

joduak

yop les erreurs sont les suivantes:

Notice: Undefined variable: form in c:\mycalendar.php on line 182

Notice: Undefined variable: elem in c:\mycalendar.php on line 182

Voilà je ne comprends pas pourquoi ça ne veut pas marcher!

merci!

mercredi 10 août 2005 à 18:08:21 | Re : petite erreur dans calendrier dynamique javascript!!!

joduak

ça pointe donc sur la 11eme ligne en partant de la fin de ce que je vous ai envoyé!
mercredi 10 août 2005 à 18:31:40 | Re : petite erreur dans calendrier dynamique javascript!!!

arnal69130

En fait, il faut vérifier que les variable $form et $elem existe avant de les utiliser (if (!empty($form))... ou plus simple, les initialiser à vide au début de ton script : $form=''; et $elem='';
Attention, il faut utiliser <?php à la place de <?.
Arn;o)
mercredi 10 août 2005 à 18:33:02 | Re : petite erreur dans calendrier dynamique javascript!!!

arnal69130

Au fait, si ça peut t'aider, j'avais fait un calendrier dans le genre... http://www.phpcs.com/code.aspx?ID=30101
mercredi 10 août 2005 à 20:51:36 | Re : petite erreur dans calendrier dynamique javascript!!!

joduak

merci beaucoup arnal!!
Il me reste juste un ptit bug, qd je clique sur un jour il ne veut pas valider mon choix, il reste sur le popup!
erf!!
mercredi 10 août 2005 à 21:11:30 | Re : petite erreur dans calendrier dynamique javascript!!!

joduak

Merci pour ta réponse tu es super sympa!
J'ai fait comme tu as dit, j'ai initialisé à vide $form et $elem il n'y a plus d'erreur en effet, mais...
il y a toujours un mais lol, quand je clique sur une autre date il rafraichit la page mais ne charge pas les nouvelles valeurs, pourtant le code est logique lol.
mercredi 10 août 2005 à 22:22:49 | Re : petite erreur dans calendrier dynamique javascript!!!

Anthomicro

Salut,

remplace par $_GET['elem'] et $_GET['form'] ou encore essaie $_POST['elem'] ou $_POST['form']

attention de bien tester avec isset l'existence de ces variables avant :

if(isset($_GET['elem']))
{
    echo $_GET['elem'];
}


    jeudi 11 août 2005 à 00:02:59 | Re : petite erreur dans calendrier dynamique javascript!!!

    joduak

    j'avais essayé le GET mais bon ça enlève juste l'erreur.
    Mais la date ne change pas lorsque l'on clique sur un autre jour.
    On ne peut selectionner que la date du jour!! c ouf!
    les variables sont bloquées...

    1 2

    Cette discussion est classée dans : jour, annee, echo, mois, month


    Répondre à ce message

    Sujets en rapport avec ce message

    Pb agenda!! [ par grominet5969 ] Salut,Sur ce site j'ai trouvé un agenda d'événements que j'ai installé sur mon site web. Il fonctionnait trés bien sous phpMyAdmin 2.6.2-Debian-3sarge SUJET POUR QUELQU' UN QUI CONNAIT LE PHP AVEC BASE SQL [ par philou4212 ] je remercie la personne qui peut me donner un coup de mains sur le sujet je coince un  peuVoilà j'ai un calendrier qui fonctionne avec une base sql il affichage calendrier de gestion des congés [ par babouche12 ] Bonjour à tous, Je suis en stage en entreprise et je dois refaire certaines fonctionnalités de l'Intranet. La partie Gestion des congés étant trop co Problème de boucle / accès BDD [ par satreix ] Bonsoir [^^clinoeil1], Je viens vers vous ce soir pour un problème de syntaxe selon moi mais ce pourrait être autre chose. La fonction suivante est c Calendrier Location [ par piep14 ] Bonjour le forum, j'aurais une question à vous soumettre car je bloque. J'ai fait un calendrier avec le code que je vous présente ci après. Le trucs, Dynamique [ par sensoide ] J'ai un calendrier au quelle je voudrais rajoutée les jours travaillées et les congées, mais je ne vois pas comment fair.C'est pour quoi je demande vo comment transformer les résultats d'un group by sur month en texte type janvier, fevrier [ par atolldecolombo ] bonjourvoici mon pb : avec une extraction groupé par mois j'obtient le résulat suivant  REPPARTION les dates, calcule de jour [ par aquewel ] Bonjour,un petit probleme je voudrais programmer une date futur dans le temps tous les premier Mercredi du mois d'aout tous les ans !J'ai reussi qu'a vérification d'une date [ par vir76 ] Salut tout le monde,Je dispose de la fonction suivante pour vérifier une date : Page de vérification de date en PHP<? Calendrier [ par kitgraphic ] Voilà j'ai un calendrier avec des évènement, tout marche bien , mais je voudrais que le jour actuel (la cellule ou il se trouve soit d'une autre coule


    Nos sponsors


    Sondage...

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 0,671 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales