Rechercher : dans
Par :

CHANGER TEXTE EN FONCTION DE L'HEURE !

Dernière réponse le 15 mai 2009 à 13:59:27 Matthieu, le 7 mai 2009 à 00:59:11 
 Signaler ce message aux modérateurs

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

1

jdboss, le 7 mai 2009 à 01:00:33

Deja un topic ouvert

Répondre à jdboss

2

Matthieu, le 7 mai 2009 à 01:03:17

BONSOIR !

Je sais mais ne voyant aucune réponse concrète, je me suis dis que cela pouvait remuer plus rapidement les conseils...

Répondre à Matthieu

3

jdboss, le 7 mai 2009 à 01:04:30

Il a ete ouvert il y a 4h

Répondre à jdboss

4

empty, le 7 mai 2009 à 10:08:12

Tuto sur http://www.siteduzero.com 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 :-) Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

5

Matthieu, le 7 mai 2009 à 10:17:31

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

Répondre à Matthieu

6

empty, le 7 mai 2009 à 10:24:36

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!';
}
?> Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

7

Matthieu, le 7 mai 2009 à 11:11:53

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 !

Répondre à Matthieu

8

empty, le 7 mai 2009 à 14:44:25

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... Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

9

Matthieu, le 7 mai 2009 à 15:02:05
  • +4

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

Répondre à Matthieu

12

empty, le 15 mai 2009 à 08:44:49

Met ton sujet comme résolu si tu as trouver réponse à ta question :-) Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

10

empty, le 7 mai 2009 à 16:26:57

Oublie pas le "+" sur les messages qui t'ont aidé :-) Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

11

jdboss, le 15 mai 2009 à 00:00:06

Comment afficher ce code tous le temps
cela s'affiche que toute les heure

Répondre à jdboss

13

empty, le 15 mai 2009 à 08:45:49

"Le code" s'affiche tout le temps et le retour change en fonction des heures... Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty

14

jdboss, le 15 mai 2009 à 12:38:37

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'); 
} 
?>

Répondre à jdboss

15

 empty, le 15 mai 2009 à 13:59:27

Ce code m'affiche "Bon après midi" à 13:59, et quel est le problème ? Webmaster - Référenceur - Programmeur - Graphiste

Répondre à empty