Changer de css

Résolu
Bonjour à tous !

Je souhaiterais savoir si ce code fonctionne.
J'ai changé la date mais toujours pareil, il prends le styles.css et pas le noel.css par exemple.
Sois-je changer la date du serveur ^o) ?
<?php echo '<link rel="stylesheet" media="screen" type="text/css" title="'.URL_STYLES, $periode.'" href="'.URL_STYLES, $periode.'.css" />';  ?>

</head>
<body>

<?php
$jour = date ('d');
$mois = date('m');
 
    if (($jour >= '16' && $mois >= '1') && ($jour < '9' && $mois < '2')) {$periode = 'styles';}
elseif (($jour >= '10' && $mois >= '2') && ($jour < '16' && $mois < '2')) {$periode = 'valentin';}
elseif (($jour >= '17' && $mois >= '2') && ($jour < '6' && $mois < '8')) {$periode = 'styles';}
elseif (($jour >= '7' && $mois >= '8') && ($jour < '13' && $mois < '8')) {$periode = 'independance';}
elseif (($jour >= '7' && $mois >= '12') && ($jour < '8' && $mois < '12')) {$periode = 'deces_fhb';}
elseif (($jour >= '15' && $mois >= '12') && ($jour < '27' && $mois < '12')) {$periode = 'noel';}
elseif (($jour >= '28' && $mois >= '12') && ($jour < '15' && $mois < '1')) {$periode = 'nouvel_an';}
?>

3 réponses

  1. Merci infiniment o'lasso pour ta réponse et excuse moi du retard de réponse.

    <?php echo '<link type="text/css" href="'.URL_STYLES, $periode.'.css" rel="stylesheet" media="all">';  ?>
    
    </head>
    <body>
    
    <?php
    $jour = date ('d');
    $mois = date('n');
    
        if ($jour >= 1 && $jour < 31  &&  $mois == 7){$periode = 'noel';}
    elseif ($jour >= 1 && $jour < 30  &&  $mois == 8){$periode = 'valentin';}
    else {$periode = 'styles';}
    ?>


    Il affiche bien 30 7 comme echo mais ca ne passe toujours pas.
    Ai-je sauté quelque chose ?

    -----------

    Ah ! Voilà, fallait déplacer (bizarre) le tout dans le :
    <header>
    <?php
    $jour = date ('d');
    $mois = date('n');
    
        if ($jour >= 1 && $jour < 31  &&  $mois == 7){$periode = 'noel';}
    elseif ($jour >= 1 && $jour < 30  &&  $mois == 8){$periode = 'styles';}
      else {$periode = 'styles';}
    
    echo '<link type="text/css" href="'.URL_STYLES, $periode.'.css" rel="stylesheet" media="all">';  ?>
    
    </head>


    Est-ce normal ?
    1. Contributeur
      Tu dois instancier une variable avant de l'utiliser, oui, c'est normal.
  2. je pense que tes tests de date ne sont pas bons...
    pas besoin de changer la date du serveur

    il suffit d'écrire ça pour tester :

    $jour = date ('d');
    $mois = date('n');
    
     echo "date: ".$jour." ".$mois."<br />";
    
    
    $jour = 12;
    $mois = 1;
    
     echo "date: ".$jour." ".$mois."<br />";


    inutile de mettre des apostrophes, de plus si tu mets date('m') tu obtiendras = 07
    par contre si tu mets date('n') tu obtiendras = 7

    si tu veux rester avec tes if elseif, il est inutile de mettre deux fois styles dans tes tests, il suffit d'ajouter à la fin if () { elsif () {} ... }else{ $periode = 'styles'; }

    dans tes tests de dates, utilses $mois == valeur, ce sera plus facile à lire
     if ( $jour >= 7 && $jour < 13  &&  $mois == 8   ){  $periode = 'independance';

    ...