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 :

[Dates] Vérifier le format d'une date


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 14
    Points
    14
    Par défaut [Dates] Vérifier le format d'une date
    Bonsoir,

    Comment faire pour emplyer cette fonction qui vérifie le format de la date ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function datetest($var1,$var2,$var3,$name) 
      { 
        if (!checkdate($var2,$var1,$var3)) 
          $this->add($name,$this->fstyle);     
      }

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    c'est checkdate() qui vérifie la date.
    tout ce qu'il y a autour c'est l'intégration dans une classe qui fait ... des choses.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    voici le source complet du validate.php.
    Je n'arrvie pas à vérifier mon champs date avec la fonction datetest, pour la fonction stringtest la je parviens comme ce ci :
    Pouvez vous m'aider svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $formNom = $test->secure($_POST["Nom"]); 
      $test->stringtest($formNom,"Nom");

    validate.php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <?php 
    class testTools { 
      var $errTab; //Tableau contenant les erreurs détectées 
      var $Count; //Variable contenant le nombre d'erreurs détectées 
      var $fstyle; //Nom du style CSS par défaut quand il y a une erreur. 
     
      //Constructeur de la classe ici on passe en paramêtre le nom du style d'erreur par defaut. 
      function testTools($fstyle) 
      { 
        $this->Count=0; 
        $this->fstyle=$fstyle; 
      } 
     
      //Fonction qui permet de securiser un champ texte de manière à pouvoir être stocké dans une base de données. 
      //Si vous voulez autoriser les tag HTML alors il faut mettre la ligne du strip_tags en commentaire. 
      function secure($var) 
      { 
        $vars=$var; 
        if (!is_numeric($var)) 
        { 
          $vars=htmlentities($vars,ENT_QUOTES);  //utile pour éviter une grande partie des SQL injections 
          $vars=strip_tags($vars); 
        } 
        return $vars; 
      } 
     
      //Fonction principale de la classe qui ajoute un nom de style CSS à un nom de champ de formulaire. 
      function add($title,$style) 
      { 
        $this->errTab[0][$this->Count]=$title; 
        $this->errTab[1][$this->Count++]=$style; 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type EMAIL. 
      function mailtest($var,$name) 
      { 
        if (!eregi("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([0-9a-z](-?[0-9a-z])*\\.)+[a-z]{2}([zmuvtg]|fo|me)?$",$var)) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type INT. 
      function inttest($var,$name) 
      { 
        if (($var==0)||(!is_numeric($var))) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type TIME. 
      function timetest($varh,$varm,$vars,$name) 
      { 
        if ((($varh>24)||($varm>59)||($vars>59))||(($varh<0)||($varm<0)||($vars<0))) 
          $this->add($name,$this->fstyle); 
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type URL. 
      function urltest($var,$name) 
      { 
        if ((substr($var,0,4)!="www.")&&(substr($var,0,7)!="http://")) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type STRING. 
      function stringtest($var,$name) 
      { 
        if (strlen(trim($var))==0) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui permet d'effectuer un test sur un champ de type DATE. 
      function datetest($var1,$var2,$var3,$name) 
      { 
        if (!checkdate($var2,$var1,$var3)) 
          $this->add($name,$this->fstyle);     
      } 
     
      //Fonction qui recherche un style CSS associé à un champ donné. 
      function fieldError($name,$default) 
      { 
        if (is_array($this->errTab[0])) 
          foreach($this->errTab[0] as $key => $value) 
          { 
            if ($value==$name) 
              return $this->errTab[1][$key]; 
          } 
        return $default; 
      } 
     
    } 
    ?>

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 305
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 305
    Points : 15 633
    Points
    15 633
    Par défaut
    comme te l'as dit sabotage, il faut que tu te renseignes sur la fonction http://php.net/checkdate pour savoir comment utiliser cette méthode

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si ton but c'est de verifier une date, il faut utiliser la fonction native checkdate($mois, $jour, $annee).

    Si ton but est d'utiliser la classe que nous a montré il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $test = new testTools();
    $test->datetest($jour,$mois, $annee, $titre);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    Désoler je suis débutant et pas facile au début enfait j'ai un champ date et je ne sais pas comment faire pour appeler cette fonction.

    merci à vous pour votre aide

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    cf. la premiere ligne de mon message alors.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 14
    Points
    14
    Par défaut
    quand je rentre la date dans mon champ par ex : 20/08/1981 sa ne fonctionne pas ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme je l'ai écris la fonction prends les paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    checkdate($mois, $jour, $annee)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function validate($date_fr) {
    list($jour, $mois, $annee) = explode("/", $date_fr);
    if ($mois && $jour && $annee) {
        return checkdate($mois, $jour, $annee);
    }
    else {
      return FALSE;
    }
    }
     
    if (validate("20/08/1981")) { 
       echo 'bonne date';
    }
    else {
       echo 'mauvaise date';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/01/2014, 13h28
  2. Parser une date suivi d'un fuseaux horaire (date+02:00) et conversion en Date.
    Par SpeedOverflow dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 30/06/2013, 13h37
  3. Réponses: 4
    Dernier message: 07/08/2008, 17h12
  4. [Dates] Modifier le format d'une date
    Par martoune dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2007, 17h21
  5. [Dates] changer le format d'une date.
    Par maraly dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2007, 16h17

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