Changer de css

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 26 juil. 2013 à 17:25
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 30 juil. 2013 à 10:54
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

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';

...
1
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 2
Modifié par Sinsitrus le 30/07/2013 à 10:11
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
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
30 juil. 2013 à 10:17
Tu dois instancier une variable avant de l'utiliser, oui, c'est normal.
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 2
30 juil. 2013 à 10:54
Alors sujet clos, merci encore !
1