IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ecrire un texte selon l'heure


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut Ecrire un texte selon l'heure
    Bonjour,
    je voudrais écrire un texte selon l'heure en PHP. J'utilise le code suivant mais il ne fonctionne pas, le script ne rentre pas dans le else ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    date_default_timezone_set('Europe/Paris');
    $heure = date("H");
    if ($heure > 07 AND $heure < 12 OR $heure > 13 AND $heure < 18): ?>
    	<b><font color="green">Nous sommes acutellement ouvert.</font></b>
    <?php else: ?>
    	<font color="red"><b>Nous sommes acutellement fermé.</b></font>
    <?php endif; ?>
    Merci de votre aide.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 880
    Points : 6 606
    Points
    6 606
    Par défaut
    À quelle heure as-tu essayé?

    Je viens de le tester et j'obtiens bien le texte du else. La seule chose un peu étrange dans ton code c'est l'utilisation des opérateurs logiques and et or ce qui n'est pas une erreur, mais généralement on utilise plutôt && et || et on se tourne vers les deux autres pour des subtilités de précédence.

    Autre chose, la fonction date renvoie une chaîne, mais dés lors que tu fais une comparaison avec un nombre, PHP va la trans-typer en nombre pour effectuer la comparaison. Il n'est donc pas utile d'écrire $heure > 07 en mimant le format de la chaîne, $heure > 7 fera la même chose tout aussi bien.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Maintenant mais j'ai modifié la plage horaire pour la mettre à partir de 00H.
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour éviter toute erreur d'interprétation dans l'ordre des instructions, le mieux est encore de mettre des parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( ($heure > 7 and $heure < 12) or ($heure > 13 and $heure < 18) ):
    Voir : Les opérateurs logiques
    La raison pour laquelle il existe deux types de "ET" et de "OU" est qu'ils ont des priorités différentes.
    Voir le paragraphe précédence d'opérateurs.
    Cela dit, "and" et "or" sont sémantiquement plus clairs.

  5. #5
    Membre habitué Avatar de CLeBeR
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    Hello,
    je viens de tester à nouveau et bizarrement, le code fonctionne. J'ai rajouté les week-ends et les parenthèses comme tu me l'a conseillé pour être plus rigoureux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    date_default_timezone_set('Europe/Paris');
    $heure = date("H");
    $jour = date("D");
    if (($heure > 07 AND $heure < 12) OR ($heure > 13 AND $heure < 18) AND ($jour <> "Sat" OR $jour <> "Sun")): ?>
    	<b><font color="green">Nous sommes acutellement ouvert.</font></b>
    <?php else: ?>
    	<font color="red"><b>Nous sommes acutellement fermé.</b></font>
    <?php endif; ?>
    Je reviens vers vous si je constate des problèmes. Merci pour votre aide,
    @+
    Pensez à voter pour une réponse qui vous aide ou pour une personne insolente !
    Si votre sujet est résolu, cliquez sur le bouton !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire du texte selon un angle dans un TImage
    Par kem dans le forum Composants VCL
    Réponses: 2
    Dernier message: 15/10/2005, 09h40
  2. Ecrire du texte dans les fenetres filles (MDI)
    Par trilomdor dans le forum MFC
    Réponses: 9
    Dernier message: 23/06/2004, 17h00
  3. [VMR9][D3D9]ecrire un texte sur une surface
    Par drizztfr dans le forum DirectX
    Réponses: 2
    Dernier message: 13/11/2003, 15h06
  4. [MFC]Ecrire du texte dans un rectangle
    Par zaz16 dans le forum MFC
    Réponses: 8
    Dernier message: 29/07/2003, 10h31
  5. comment ecrire du texte dans une window application
    Par gaut dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 16/07/2003, 10h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo