CHANGER TEXTE EN FONCTION DE L'HEURE !

Matthieu -  
kefah Messages postés 38 Statut Membre -
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
A voir également:

7 réponses

jdboss Messages postés 26 Statut Membre 2
 
deja un topic ouvert
1
Matthieu
 
BONSOIR !

Je sais mais ne voyant aucune réponse concrète, je me suis dis que cela pouvait remuer plus rapidement les conseils...
0
empty Messages postés 931 Statut Membre 176
 
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
Matthieu
 
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
empty Messages postés 931 Statut Membre 176 > Matthieu
 
Pourquoi 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
Matthieu > empty Messages postés 931 Statut Membre
 
Merci 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
empty Messages postés 931 Statut Membre 176 > Matthieu
 
Voilà 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
Matthieu > empty Messages postés 931 Statut Membre
 
Entendu !
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
jdboss Messages postés 26 Statut Membre 2
 
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
empty Messages postés 931 Statut Membre 176
 
Ce code m'affiche "Bon après midi" à 13:59, et quel est le problème ?
0
kefah Messages postés 38 Statut Membre 3
 
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
kefah Messages postés 38 Statut Membre 3
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jdboss Messages postés 26 Statut Membre 2
 
il a ete ouvert il y a 4h
0
empty Messages postés 931 Statut Membre 176
 
Oublie pas le "+" sur les messages qui t'ont aidé :-)
0
jdboss Messages postés 26 Statut Membre 2
 
comment afficher ce code tous le temps
cela s'affiche que toute les heure
0
empty Messages postés 931 Statut Membre 176
 
"Le code" s'affiche tout le temps et le retour change en fonction des heures...
0