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 :

Vérifier qu'un utilisateur a plus de 18 ans


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut Vérifier qu'un utilisateur a plus de 18 ans
    Bonjour,

    J'ai un formulaire avec un champ "date de naissance" et je souhaite restreindre l'inscription aux moins de 18 ans mais je ne sais pas comment faire..

    voici mon code pour le moment qui vérifie seulement si "date de naissance" est vide ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
         if(empty($_POST['date_naissance'])){
            $errors['date_naissance'] = "Vous devez rentrer votre date de naissance";
        }
    je vous remercie pour votre aide.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Le plus courant est de créer une date au format datetime de php/mysql. Cela ouvre beaucoup de possibilités. Si $_POST['date_naissance'] est au format yyyy-mm-jj, soit par exemple 2001-12-21 il te suffira de faire :
    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
    // date aujourd'hui
    $date = new DateTime();
    // date - 18 ans
    $date_18 = $date->sub(new DateInterval('P18Y'));
     
    // si $_POST['date_naissance'] est au format date par exemple = 2001-12-25
    $date_naissance = new DateTime($_POST['date_naissance']);
     
    if($date_naissance >= $date_18)
    {
    	//le visiteur a au moins 18 ans
    }
    else
    {
    	//le visiteur a moins 18 ans
    }
    Si $_POST['date_naissance'] n'est pas au format dateTime tu pourras le convertir au format dateTime avec date_create_from_format.
    Par exemple si $_POST['date_naissance'] === '25-12-2001', le code deviendra :

    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
    // date aujourd'hui
    $date = new DateTime();
    // date - 18 ans
    $date_18 = $date->sub(new DateInterval('P18Y'));
     
    // si $_POST['date_naissance'] est au format jj-mm-yyyy, par exemple = 25-12-2001 on le converti au format dateTime avec DateTime::createFromFormat
    $date_naissance = DateTime::createFromFormat('j-m-Y', $_POST['date_naissance']);
     
    if($date_naissance >= $date_18)
    {
    	//le visiteur a au moins 18 ans
    }
    else
    {
    	//le visiteur a moins 18 ans
    }

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    salut merci pour ta réponse, mais pourquoi datetime est pas plutôt date tout court, plus logique si j'utilise uniquement les dates et pas les heures/min/sec etc ?

    mon champ est au format date..

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Bah essayes avec Date()...

  5. #5
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Je viens d'essayer et j'ai adapté ton code avec mes besoins mais j'ai un message d'erreur le voici :

    Fatal error: Class 'Date' not found in C:\wamp\www\pag\register.php on line 20
    Il ne trouve pas date

    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
        if(empty($_POST['date_naissance'])){
            $errors['date_naissance'] = "Vous devez rentrer une date de naissance valide";
        }
     
    // date aujourd'hui
    $date_aujourdhui = new Date(); // LIGNE 20
    // date - 18 ans
    $date_18ans = $date_aujourdhui->sub(new DateInterval('P18Y'));
     
    // si $_POST['date_naissance'] est au format date par exemple = 2001-12-25
    $date_naissance = new Date($_POST['date_naissance']);
     
    if(!$date_naissance >= $date_18ans)
    {
      //le visiteur a PAS encore 18 ans
      $errors['date_naissance'] = "Vous devez etre majeur pour vous inscrire";
    }

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Et si tu mets "date php" dans un moteur de recherche, que dis le manuel et les exemples ?

    Sinon je t'avais donné un exemple avec dateTime parce que c'est plus générique et qui peut le plus, peut le moins...

  7. #7
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    ça marche chef

    voici la version 2 de mon code : (je suis ouvert au suggestion)

    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
        if(empty($_POST['date_naissance'])){
            $errors['date_naissance'] = "Vous devez rentrer une date de naissance valide";
        } else {
          // date d'aujourd'hui
          $date = new DateTime();
          // date - 18 ans
          $date_18 = $date->sub(new DateInterval('P18Y'));
          // si $_POST['date_naissance'] est au format date par exemple = 2001-12-25
          $date_naissance = new DateTime($_POST['date_naissance']);
          if($date_naissance >= $date_18)
          {
          //le visiteur a PAS encore 18 ans
            $errors['date_naissance'] = "Vous devez etre majeur pour vous inscrire";
          }
        }

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    j'opterais pour ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ((new \DateTime())->diff(new \DateTime($_POST['date_naissance']))->format('%y') < 18)
    {
        $errors['date_naissance'] = "Vous devez être majeur pour vous inscrire";    
    }

  9. #9
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    ton code prend en charge les jours et mois de naissance ? car je vois uniquement '%y'

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    oui, c'est géré par le système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if ((new \DateTime())->diff(new \DateTime('1998-02-23'))->format('%y') < 18)
    {
        $errors['date_naissance'] = "Vous devez être majeur pour vous inscrire"; // 17 ans 11 mois et 30 jours -> mineur
    }
     
    if ((new \DateTime())->diff(new \DateTime('1998-02-22'))->format('%y') < 18)
    {
        $errors['date_naissance'] = "Vous devez être majeur pour vous inscrire";  // 18 ans pile -> majeur
    }
     
    if ((new \DateTime())->diff(new \DateTime('1998-02-21'))->format('%y') < 18)
    {
        $errors['date_naissance'] = "Vous devez être majeur pour vous inscrire"; // 18 ans et 1 jour -> majeur
    }

  11. #11
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    ok ça marche je te remercie
    et aussi ABCIWEB.
    sujet résolu !

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    J'espère que t'as tout compris et que tu t'es pas simplement contenté de recopier le code

    Donc demain interrogation écrite sur DateTime, DateInterval, DateTime::sub, DateTime::format et DateTime::diff

    Après pour la syntaxe optimisée donnée par rawsrc, j'excuse ton hésitation, car même si j'aurais pu penser à utiliser DateTime::diff, je ne me rappelais pas (à supposé que je l'ai su un jour) qu'on puisse faire ce raccourci là ^^. Enfin bon là ça tient plus de la botte secrète d'un "vieux briscard". Du coup ça te fais une formation hyper accélérée

  13. #13
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    J'espère que t'as tout compris et que tu t'es pas simplement contenté de recopier le code

    Donc demain interrogation écrite sur DateTime, DateInterval, DateTime::sub, DateTime::format et DateTime::diff

    Après pour la syntaxe optimisée donnée par rawsrc, j'excuse ton hésitation, car même si j'aurais pu penser à utiliser DateTime::diff, je ne me rappelais pas (à supposé que je l'ai su un jour) qu'on puisse faire ce raccourci là ^^. Enfin bon là ça tient plus de la botte secrète d'un "vieux briscard". Du coup ça te fais une formation hyper accélérée
    euh oui oui j'ai tout compris pour l'interrogation écrite j'ai un mot d’absence du médecin

    plus sérieusement, je suis en ce moment même en train de voir si je peux (et déjà si c'est possible!) adapter le code de rawsrc pour en faire une fonction qui calcul l'age pour afficher dans le profil des membres.. J'ai cherché sur le net et je suis tombé sur des tonnes de solutions avec des codes assez anciens qui ne fonctionne pas toujours

  14. #14
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Je viens de tester le code (qui fonctionne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    function Age($date_naissance)
    {
    	$arr1 = explode('/', $date_naissance);
    	$arr2 = explode('/', date('d/m/Y'));
     
    	if(($arr1[1] < $arr2[1]) || (($arr1[1] == $arr2[1]) && ($arr1[0] <= $arr2[0])))
    	return $arr2[2] - $arr1[2];
     
    	return $arr2[2] - $arr1[2] - 1;
    }
     
    echo age('21/02/1987')."\n"; // affiche 29
    est-ce qu'il est bien ou il y a mieux ?

  15. #15
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Je me disais bien aussi qu'on pourrait avoir des problèmes lors de la validation des acquis

    Déjà je croyais que le champ "date_de_naissance" de ta table étaient au format date, alors pourquoi je vois '21/02/1987' ?

    Il faut absolument que champ "date_de_naissance" de ta table soit au format date de mysql. Sinon tu ne pourras pas utiliser les fonctions date de mysql. C'est à corriger en premier, et ensuite tu fais la suite de ton code en fonction de cet impératif.

    Donc depuis le champ "date_de_naissance" de ta table, tu devrais récupérer une valeur comme '1987-02-21'.
    Et puis magiquement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (new \DateTime())->diff(new \DateTime('1987-02-21'))->format('%y');
    Et si tu dois traiter une date avec un format différent du format standard, je t'ai dit
    "Si $_POST['date_naissance'] n'est pas au format dateTime tu pourras le convertir au format dateTime avec date_create_from_format."
    Donc en extrapolant un peu - et après avoir regardé la doc de "date_create_from_format" - on pourrait faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo (new \DateTime())->diff(DateTime::createFromFormat('j/m/Y', '21/02/1987'))->format('%y');
    Mais encore une fois tu ne devrais pas avoir ce format de date en bdd mais un type "yyyy-mm-jj".

  16. #16
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Je me disais bien aussi qu'on pourrait avoir des surprises lors de la validation des acquis

    Déjà je croyais que le champ "date_de_naissance" de ta table étaient au format date, alors pourquoi je vois '21/02/1987' ?
    lol eh non ! J'ai bien un format de date standard cher professeur regarde mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Récupération du profil d'un membre
    $req = $pdo->prepare('SELECT id, orientation_sexuelle, DATE_FORMAT(date_naissance, \'%d/%m/%Y\') date_naissance_fr, prenom, username, DATE_FORMAT(confirmed_at, \'%d/%m/%Y\') confirmed_at_fr, ville, lat, lng FROM users WHERE id = :idmbr AND confirmed_at IS NOT NULL');
    $req->execute(['idmbr' => $idmbr]);
    $donnees = $req->fetch();
    et puis plus bas.. je l'affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo age($donnees->date_naissance_fr); ?> ans
    alors votre avis ?

    J'ai l'impression que je vais avoir des suggestions

    en tout cas, j'ai bien le bon format de date dans ma bdd même si je pense que mon code est améliorable non ?

  17. #17
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    pour avoir l'âge en deux coups de cuillère à pot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $age  = [];
    $diff = (new \DateTime())->diff(new \DateTime('1987-02-21'));
     
    if ($diff->y)
        $age[] = $diff->y.' an'.(($diff->y > 1) ? 's' : '');
     
    if ($diff->m)
        $age[] = $diff->m.' mois';
     
    if ($diff->d)
        $age[] = $diff->d.' jour'.(($diff->d > 1) ? 's' : '');
     
    echo implode(', ', $age);

  18. #18
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Le format dateTime de mysql est AAAA-MM-JJ HH:MM:SS, la doc est ici. Donc je te laisse deviner pour le format date. Est-ce que tu rentre ce format dans ton champ date de naissance de la bdd ?

    Sinon en mode récréation, y'a un sujet récent qui pourrait t'intéresser ici. Cela ne te coûte rien d'essayer puisqu'il s'agit juste de copier le code dans une page vierge puis de tester

  19. #19
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Le format dateTime de mysql est AAAA-MM-JJ HH:MM:SS, la doc est ici. Donc je te laisse deviner pour le format date. Est-ce que tu rentre ce format dans ton champ date de naissance de la bdd ?
    ABCIWEB Pourquoi tu veux absolument que j'enregistre les dates de naissance avec DateTime plutôt que seulement Date (plus adapté pour une date de naissance) ? Désolé mais je ne comprends toujours pas ! Je stocke les dates sous cette forme AAAA-MM-JJ (forme standard de Date) je n'ai pas besoin de HH:MM:SS pour calculer un age..
    mais je reste ouvert au dialogue si tu veux m'expliquer plus clairement l'utilité réelle de rajouter HH:MM:SS ... J'ai toujours très soif d'apprentissage

    rawsrc Je viens de supprimer quelques lignes de ton code, mois et jours ^^ et j'ai fait une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function age($date_naissance)
    {
        $diff = (new \DateTime())->diff(new \DateTime($date_naissance));
        return $diff->y;
    }

  20. #20
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Je ne tiens pas absolument au format dateTime, relis-moi. Je donne ce format en exemple parce que c'est le plus complet, à toi d'adapter à tes besoins et effectivement pour toi le format date suffirait. Quand je voyais que tu utilisais '21/02/1987' ce n'était pas le fait que tu n'utilisais pas les heures minutes secondes qui me dérangeait c'est le fait que ce n'est pas le format date (ou plus généralement dateTime) de sql. On devrait avoir '1987-02-21' pour le format date, ou '1987-02-21 07:28:15' pour le format dateTime par exemple.

    EDIT : ah ok, je viens de comprendre que c'est dans ta requête de sélection que tu obtiens le format français.

    Donc là tu as deux choix :
    Soit tu reste ainsi et tu devras utiliser DateTime::createFromFormat pour recréer un format standard et pouvoir utiliser les fonctions dateTime de php.
    Soit tu ne fais pas la transformation au format français dans ta requête, et tu formateras cette date au format français au moment de l'affichage.

    Ce qu'il faut retenir, c'est qu'il faut travailler avec des dates (ou dateTime) au format standard que ce soit côté php ou côté sql pour utiliser les fonctions date/dateTime de php ou de sql.

    C'est juste pour l'affichage que l'on formate au format français ou autre.

    Donc si tu récupère la date de ta table sql uniquement pour l'afficher tu peux effectivement faire comme tu avais fait. Mais si tu dois utiliser par la suite des fonctions date de php sur ce résultat tu devras le retransformer préalablement au bon format avec DateTime::createFromFormat.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Vérifier si l'utilisateur existe
    Par wzcocoon dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/02/2008, 11h24
  2. vérifier que l'utilisateur entre bien une heure
    Par youp_db dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2006, 11h15
  3. vérifier que l'utilisateur entre bien un nombre
    Par youp_db dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/11/2006, 10h10
  4. Réponses: 3
    Dernier message: 12/04/2006, 13h57
  5. [c#] Vérifier une sélection utilisateur
    Par elendila dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/09/2005, 11h05

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