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

PHP & Base de données Discussion :

Formulaire date de naissance [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut Formulaire date de naissance
    Bonjour,

    voila j ai un script avec un formulaire en html et un script en php qui insère dans ma base les données entrer par les visiteurs il y a notamment un champ date de naissance mais c est un pu flou pour moi je souhaite que la dat soit au format :

    DD/MM/YYYY

    j ai récupérer un script php permettant de contrôler cela mais je me pose quelques questions :

    1) quel type doit avoir mon champ naissance dans ma table ?
    2) comment utiliser le script récupérer pour l'intégrer au mien ?

    mon script :

    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
    <?php
    if (isset($_POST['envoyer'])) {
     
    $result = mysql_query("SELECT COUNT(*) FROM login WHERE ss='".$_POST['ss']."'");
    $count = mysql_result($result,0);
    if($count== 0)
    {
     
    foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
    }
    $sql = "INSERT INTO login VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."')";
    $res = mysql_query($sql);
    if ($res) { ?>
    <meta http-equiv="refresh" content="0;url=confirm_login.php" />
    <?php
    }
     
    }
    else {
    ?>
    <meta http-equiv="refresh" content="0;url=doublon.php" />
    <?php
     
    }
    }
     
     
    ?>
    le script récupérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (strlen($naissance) == 0) {
    $errs["naissance"][] = "La date de naissance est obligatoire";
    } else if (!ereg("^([0-9]){2}/([0-9]){2}/([1-2])([0-9]){3}$", $naissance)) {
    $errs["naissance"][] = "La date de naissance n'est pas au bon format.";
    }
    Merci de votre aide

  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
    Par défaut
    quel type doit avoir mon champ naissance dans ma table ?
    roulement de tambour .... DATE


    Pour l'utilisation de l'expression reguliere un truc tout basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (preg_match("#^([0-9]){2}/([0-9]){2}/([1-2])([0-9]){3}$#", $naissance)) {
    $sql = "INSERT INTO login VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."')";
    $res = mysql_query($sql);
    }
    else {
    echo 'format de date non valide';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Merci beaucoup sabotage encore une réponse claire précise et qui fonctionne

    par contre le format de mon champ date sur mon phpmyadmin est 0000-00-00
    et dans le script php 00/00/0000 et apparemment il aime pas trop car page blanche ....

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    oups désolé ca marche nickel erreur de 18h00 merci encore sabotage

  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
    Par défaut
    heu non c'est moi qui ait été un peu léger sur ce coup
    il faut effectivement passer la date au format adéquat :

    Ca peut se faire directement dans la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "INSERT INTO login VALUES ('', '".$nom."', '".$prenom."',STR_TO_DATE('".$naissance."','%d/%m/Y', '".$ss."')";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Apparemment ca marche super meme ans la déclaration dans la requete

    bonne journée

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

Discussions similaires

  1. Mise en forme - Date de naissance formulaire
    Par bond70 dans le forum Langage
    Réponses: 7
    Dernier message: 08/07/2010, 09h39
  2. Réponses: 1
    Dernier message: 27/10/2006, 08h13
  3. Requete a partir d'une date de naissance pour obtenir un age
    Par Fleur-Anne.Blain dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/08/2006, 12h40
  4. Pl/SQL J'ai un âge, je voudrais une date de naissance
    Par Fleur-Anne.Blain dans le forum PL/SQL
    Réponses: 10
    Dernier message: 10/08/2006, 09h17
  5. [WB9] Calcul Date de Naissance
    Par Angeldu74 dans le forum WebDev
    Réponses: 1
    Dernier message: 02/06/2006, 10h46

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