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 :

[Tableaux] Test sur les valeurs d'un tableau


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Tableaux] Test sur les valeurs d'un tableau
    Bonjour,

    J'ai fait un script pour vérifier le format et les données d'une heure entrée dans un champ texte sous la forme hh:mm:ss. Je récupère mon heure avec ma variable $_POST['heure'].
    Je coupe la chaîne $_POST['heure'] en faisant:
    $hms = explode(":", $_POST['heure']);

    Je me retrouve (nromalement) avec un tableau contenant 3 valeurs:
    $hms[0]
    $hms[1]
    $hms[2]

    Ensuite je fais mon test pour valider l'heure entrée:
    if(count($hms) == 3 && $hms[0]>0 && $hms[0]<25 && $hms[1]>0 && $hms[1]<61 && $hms[2]>0 && $hms[2]<61)

    C'est ce test qui ne fonctionne pas. Je ne comprends pas pourquoi.
    Pouvez-vous m'aider ?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $hms = explode(":","1:24:30");
    print_r($hms);
    if(count($hms) == 3 && $hms[0]>0 && $hms[0]<25 && $hms[1]>0 && $hms[1]<61 && $hms[2]>0 && $hms[2]<61) echo "ok";
     
    ?>
    ce code fonctionne, et tu sur que l"erreur vient de ta condition?

  3. #3
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 49
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Il y a un petit problème avec ta condition.
    Tu interdis les "0" alors que tu autorise 24 et 60.
    Par exemple, tu ne peux pas ecrire 11:00:00
    et au contraire, tu peux ecrire 24:60:01

    essaye plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(count($hms) == 3 && $hms[0]>=0 && $hms[0]<24 && $hms[1]>=0 && $hms[1]<60 && $hms[2]>=0 && $hms[2]<60)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup de ton aide ascito.
    J'ai trouvé ce qui n'allait pas: >0 au lieu de >=0 dans la condition. J'ai essayé le script avec des secondes égales à zéro, donc la boucle ne s'éxécutait pas.
    Désolé d'avoir écrit pour ça, j'aurais dû le voir

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

Discussions similaires

  1. [Batch] test sur les valeurs des variable d'environnement
    Par ArnSpin dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 03/09/2010, 15h15
  2. Réponses: 2
    Dernier message: 04/09/2008, 13h41
  3. moyenne sur les valeurs d'un même tableau
    Par DelphLaga dans le forum Langage
    Réponses: 12
    Dernier message: 25/09/2006, 11h35
  4. [Tableaux] lien sur les lignes d'un tableau
    Par einsteineuzzz dans le forum Langage
    Réponses: 2
    Dernier message: 19/06/2006, 14h16
  5. Réponses: 5
    Dernier message: 12/06/2006, 12h05

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