Afficher une image à une période ou une date précise

Résolu/Fermé
shubnigg Messages postés 14 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 12 juin 2019 - Modifié par shubnigg le 18/10/2014 à 11:36
shubnigg Messages postés 14 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 12 juin 2019 - 18 oct. 2014 à 19:28
Bonjour,
Voilà j'essaye de faire apparaitre sur mon site web pendant une période donnée (2, 3, 4 jours ou plus) ou à une date précise un logo différent. (Un peu comme google....;) )
Donc j'ai fait ce petit code qui semblait fonctionner sauf que... En testant j'ai décidé que la période Halloween s'arrêtait le 17 octobre mais le logohalloween.png continue à apparaitre alors qu'il faudrait que cela soit le logo.png par défaut si aucune condition n'est existante, et pourtant...

Voici le code :

<?php 
   // Mois de Novembre
  if ((date('d') >= 01) && (date('m') == 11) || (date('d') <= 31) && (date('m') == 11)) {
  $event="logo.png";
  } 
  // Mois Octobre -> Halloween le 10 octobre 17, octobre inclus
  else if ((date('d') >= 10) && (date('m') == 10) || (date('d') <= 17) && (date('m') == 10)) {
  $event="logohalloween.png";
  }
  // Mois Decembre -> Noel du 15 décembre au 30 décembre
  else if ((date('d') >= 15) && (date('m') == 12) || (date('d') <= 30) && (date('m') == 12)) {
  $event="logonoel.png";
  }  
  // Mois Décembre -> jour de l'an du 31 au 10 Janvier
  else if ((date('d') >= 31) && (date('m') == 12) || (date('d') <= 10) && (date('m') == 01)) {
  $event="logoold.png";
  }    
  // Mois Janvier (du 11 au 31 janvier)
  else if ((date('d') >= 11) && (date('m') == 01) || (date('d') <= 31) && (date('m') == 01)) {
  $event="logoold.png";
  } 
  // Fête national Américaine
  else if ((date('d') == 04) && (date('m') == 07)) {
  $event="logoold.png";
  } 
  // Fête national Française
  else if ((date('d') == 14) && (date('m') == 07)) {
  $event="logoold.png";
  }   
  $event="logoold.png";
  } 
  // logo par défaut si pas de date ou période précise  
  else {
  $event="logo.png";
  }
 echo date(md);
  echo "<img src='logos/".$event."'>";
 ?>



Peut être y a t'il une façon plus simple que ce code mais j'avoue que j'ai pas trouvé ou pas réussi à faire le code.
merci de votre aide


2 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
18 oct. 2014 à 11:36
Salut, sans vouloir t'offenser, tes conditions sont mal faites,
if ((date('d') >= 10) && (date('m') == 10) || (date('d') <= 17) && (date('m') == 10)) {
Pas besoin de || ici, mais plutôt d'un &&, tu veut que ce soit après le 10 ET avant le 17 et non l'un ou l'autre.
Donc tout simplement ceci :
if (date('d')>=10 && date('m')==10 && date('d') <= 17) {
0
shubnigg Messages postés 14 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 12 juin 2019
18 oct. 2014 à 19:28
Salut aucune offenses ;)
Merci oui en plus c'est très con j'avais pas fais attention merci
0