CHANGER TEXTE EN FONCTION DE L'HEURE !

Bonsoir !

Débutant en PHP, j'aimerais pouvoir insérer un petit texte d'accueil, personnalisé en fonction des tranches horaires (du type bonjour, bon après midi, bonsoir...)

Ca doit être vraiment tout con pour quelqu'un qui code un minimum, mais je ne me suis jamais penché sur le php et je n'y arrive pas !!

Merci par avance de votre aide !
Matthieu
Configuration: Windows Vista

7 réponses

  1. deja un topic ouvert
    1
    1. BONSOIR !

      Je sais mais ne voyant aucune réponse concrète, je me suis dis que cela pouvait remuer plus rapidement les conseils...
      0
  2. Tuto sur https://openclassrooms.com/fr/ super bien expliqué pour divers langages de programmation... Il faut que tu utilise des conditions sur l'heure.

    Indices :
    - Fonction date();
    - Conditions If, Else ou Switch

    Maintenant à toi d'aller fouiller dans le manuel PHP ou voir sur le site que je t'ai donné pour apprendre le PHP :-)
    1
    1. ok,

      J'ai bien essayé de me débrouiller avec les moyens du bord, j'arrive à un code qui ressemble à cela :

      <?
      $heure = date("H");
      if($heure < 8)
      Jtext::_('bonjour !');
      elseif($heure >= 8 && $heure < 12)
      Jtext::_('bonjour 2!');
      elseif($heure >= 12 && $heure < 14)
      Jtext::_('bonjour 3!');
      elseif($heure >= 14 && $heure < 18)
      Jtext::_('bonjour 4!');
      elseif($heure >= 18)
      Jtext::_('bonjour 5!');
      ?>

      Est ce que tu penses voir ce qu'il ne va pas ?? Le problème c'est que je ne sais pas si je suis vraiment loin ou si je peux m'en tirer rapidement...

      Merci beaucoup de ton aide !
      Matthieu
      0
    2. @MatthieuPourquoi Jtext::_ ? en php ça doit se faire comme ça :

      <?
      $heure = date("H");

      if($heure < 8 && $heure > 0) {
      echo 'bonjour !';
      }
      elseif($heure >= 8 && $heure < 12) {
      echo 'bonjour 2!';
      }
      elseif($heure >= 12 && $heure < 14) {
      echo 'bonjour 3!;
      }
      elseif($heure >= 14 && $heure < 18) {
      echo 'bonjour 4!';
      }
      elseif($heure >= 18 && $heure < 0) {
      echo bonjour 5!';
      }
      ?>
      0
    3. @emptyMerci beaucoup pour ton aide, ça fonctionne, par contre j'ai des problèmes de compatibilités navigateurs. Voila j'utilise un Joomla et j'aimerais que lorsqu'on arrive ds la communauté il y ai un texte de bienvenue : ici "hello + nom de l'utilisateur"

      Le pb c'est que sur firefox, je ne vois que "hello" et sur IE8, Safari, Chrome, je ne vois que "nom d'utilisateur"...

      le code utilisé :

      <?
      $heure = date("H");

      if($heure < 8 && $heure > 0) {
      echo JText::sprintf('CC WELCOME BACK', $user->getDisplayName());;
      }
      elseif($heure >= 8 && $heure < 12) {
      echo JText::sprintf('CC WELCOME BACK', $user->getDisplayName());;
      }
      elseif($heure >= 12 && $heure < 14) {
      echo JText::sprintf('CC WELCOME BACK', $user->getDisplayName());;
      }
      elseif($heure >= 14 && $heure < 18) {
      echo JText::sprintf('CC WELCOME BACK', $user->getDisplayName());;
      }
      elseif($heure >= 18 && $heure < 0) {
      echo JText::sprintf('CC WELCOME BACK', $user->getDisplayName());;
      }
      ?>

      ** "CC WELCOME BACK" redirige vers un fichier langage, correspondant ici à "hello"

      Est ce que tu as déjà eu à faire à ce type de problème?
      Merci d'avance pour tes conseils !
      0
    4. @MatthieuVoilà d'ou vient le Jtext, c'est parce que c'est un objet créé par JOOMLA... Je ne connais pas les syntaxes JOOMLA, si un problème d'affichage, ce n'est pas vis-à-vis du code mais surement du CSS ou quelque chose du genre... Parce que le code PHP est interprété de la même manière par tous les navigateurs...
      0
    5. @emptyEntendu !
      en tous cas merci pour tes conseils, ca fonctionne parfaitement sur firefox & IE8 (tu vas me dire là est l'essentiel)...
      Bonne après midi !

      Pour finir, voila le code en question, si ça peut en aider quelques uns en galère..

      <?
      $heure = date("H");

      if($heure < 8 && $heure > 0) {
      echo ('Très matinal aujourd\'hui');
      }
      elseif($heure >= 8 && $heure < 12) {
      echo ('Bonjour');
      }
      elseif($heure >= 12 && $heure < 14) {
      echo ('Bon appétit');
      }
      elseif($heure >= 14 && $heure < 18) {
      echo ('Bon après midi');
      }
      elseif($heure >= 18 && $heure < 0) {
      echo ('Bonne soirée');
      }
      ?>

      Matthieu
      0
  3. voila le probleme
    esseyer ceci
    <? 
    $heure = date("Hi"); 
    
    if($heure <= 0000 && $heure < 0800) { 
    echo ('Très matinal aujourd\'hui'); 
    } 
    elseif($heure <= 0800 && $heure < 1200) { 
    echo ('Bonjour'); 
    } 
    elseif($heure <= 1200 && $heure < 1400) { 
    echo ('Bon appétit'); 
    } 
    elseif($heure <= 1400 && $heure < 1800) { 
    echo ('Bon après midi'); 
    } 
    elseif($heure <= 1800 && $heure < 0000) { 
    echo ('Bonne soirée'); 
    } 
    ?>
    1
    1. Ce code m'affiche "Bon après midi" à 13:59, et quel est le problème ?
      0
  4. Bonjour,
    Après avoir fait plein de recherche pour mettre en place un code de JavaScript qui fait changer le texte en fonction de date du jour et l'heur et les minutes pour un site internet voici le résultat :

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var jour;
    jour = lundi ="lllllllllll";
    jour = mardi ="jkkkkk";
    jour = mercredi ="mmmmmmmmmmm";
    jour = jeudi ="ooooooooo";
    jour = vendredi ="bbbbbbbbbbbbbbbbbb";
    jour = samedi = "pppppppppp";
    jour = dimanche ="rrrrrrrrrr";
    function messagevariable() {

    var maintenant = new Date();
    var today = maintenant.getDay();
    var heure = maintenant.getHours();
    var minute = maintenant.getMinutes();

    if(today == 3 && heure >= 11 && minute >= 3 && heure < 12)
    return ("<font size='5', color='#d1fb0d'>Votre plat du jour </font>" +lundi );

    if(today == 2 && heure >= 11 && minute >= 3 && heure < 12)
    return ("<font size='5', color='#d1fb0d'>Votre plat du jour </font>" +mardi);

    if(today == 1 && heure >= 11 && minute >= 3 && heure < 12)
    return ("<font size='5', color='#d1fb0d'>Votre plat du jour </font>" +samedi);

    }
    //-->

    </SCRIPT>

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    document.write(messagevariable());
    //-->
    </SCRIPT>

    pour mettre le reste des jour de la semaine suffi de copier le "if" et juste changer le return le nom après le +, attention le plus est très important.
    si vous voulez rajouter encore l'année et le mois mettez après " function messagevariable() { " le code suivnt :
    année = maintenant.getYear();
    mois = maintenant.getMonth();

    pour inclure les deux codes dans notre script on les mettent dans "if" if( mois = 03 && année = 10 today == 1 && heure >= 11 && minute >= 3 && heure < 12)

    Bon chance.
    1
    1. a la place de :
      var jour;
      jour = lundi ="lllllllllll";
      jour = mardi ="jkkkkk";
      jour = mercredi ="mmmmmmmmmmm";
      jour = jeudi ="ooooooooo";
      jour = vendredi ="bbbbbbbbbbbbbbbbbb";
      jour = samedi = "pppppppppp";
      jour = dimanche ="rrrrrrrrrr";

      il faut mettre ce code a l'intérieur de function, ca donne le même résultat mais c'est plus dans les norme :) :
      var lundi ="lllllllllll";
      var mardi ="jkkkkk";
      var mercredi ="mmmmmmmmmmm";
      var jeudi ="ooooooooo";
      var vendredi ="bbbbbbbbbbbbbbbbbb";
      var samedi = "pppppppppp";
      var dimanche ="rrrrrrrrrr";
      0
  5. Oublie pas le "+" sur les messages qui t'ont aidé :-)
    0
    1. comment afficher ce code tous le temps
      cela s'affiche que toute les heure
      0
      1. "Le code" s'affiche tout le temps et le retour change en fonction des heures...
        0