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 :

Mise en forme - Date de naissance formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut Mise en forme - Date de naissance formulaire
    Salut,

    Voilà ma table n'accepte que les dates de naissance sous ce format : "AAAA-MM-JJ".

    Le problème n'est pas là, en fait j'aimerais juste que l'utilisateur saisisse la date de naissance sous ce format (AAAA/MM/JJ) depuis le formulaire, et ensuite celle-ci sera transformée sous la bonne forme pour être correctement insérée dans la table.

    Voici mon champ actuel date de naissance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     </tr>
        <tr>  
          <td><center><p><b>DATE DE NAISSANCE :</b></p></center></td>
          <td>
          <center>
          	<input type=text size=20 name=datedenaissance> <br/>(format: AAAA-MM-JJ)
          </center>
          </td>
        </td>
        </tr>
    Merci de votre aide !

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    et donc?

    suffit de faire un test en javascript sur ton champs si tu ne souhaite pas envoyer ton formulaire sinon une page intermédiaire entre la validation et l'enregistrement de tes données. Cette page devantvérifier le contenu de ta zone.

  3. #3
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut
    Je crois que je me suis mal exprimé.

    En fait je ne veux pas vérifier la validité des données mais je veux juste un script php qui permette que de transformer la date saisie par l'utilisateur via le formulaire afin quelle s'insère correctement dans ma table.

    En gros :

    SAISIE FORMULAIRE || SCRIPT PHP || INSERTION DANS LA TABLE

    25/01/1980===>transformation==>1980-01-25

    Merci !

  4. #4
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Es-tu certain que l'utilisateur va saisir la date sous cette forme : 25/01/1980 ?
    Fred

  5. #5
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut
    Oui, c'est justement l'utilisateur qui m'a demandé de pouvoir saisir la date au format français et non "AAAA-MM-JJ" comme avant.

    Je viens de me rendre compte d'un truc étonnant, j'ai essayé de saisir la date au format français par tout hasard (alors que ma table n'accepte que les AAAA-MM-JJ) et elle s'est insérée normalement sans erreur !!!

    La transformation s'est fait automatiquement, plus besoin de script de transformation

    Bizarre quand même !

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    sinon suffisait d'un str_replace du caractère / par - avant d'insérer dans ta table.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    bonsoir,
    pour faire inscrire des dates de naissance ( ou autre ) sans risque d'erreur de format pour l'utilisateur, il est préférable de lui fournir des combos
    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
    <?php
    $date=date("Y-m-d");
    $D=explode("-",$date);
    print("<select name=\"jour\">\r\n");
    for($j=1;$j<32;$j++){
    if(strlen($j)==1)$j="0".$j;
    print("<option value=\"$j\"");if($j==$D[2])print(" selected");print(">$j</option>\r\n");
     
    }
    print("</select>\r\n");
     
    print("<select name=\"mois\">\r\n");
    for($j=1;$j<13;$j++){
    if(strlen($j)==1)$j="0".$j;
    print("<option value=\"$j\"");if($j==$D[1])print(" selected");print(">$j</option>\r\n");
     
     
    }
    print("</select>\r\n");
     
    print("<select name=\"annee\">\r\n");
    for($j=2006;$j<2051;$j++){
    print("<option value=\"$j\"");if($j==$D[0])print(" selected");print(">$j</option>\r\n");
     
     
    }
    print("</select>\r\n");
    ?>

  8. #8
    Membre régulier Avatar de bond70
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 300
    Points : 77
    Points
    77
    Par défaut
    C'est bon, sur la page d'insertion j'ai rajouté çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //conversion de la date au format US pour la rentrer dans la table
    $datefr="{$_POST['datedenaissance']}";
    $tab=explode("/",$datefr);
    $datedenaissance=$tab[2]."-". $tab[1]."-". $tab[0];
    Et çà marche, merci !!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2008, 13h33
  2. Mise en forme conditionnelle dans un formulaire
    Par moilou2 dans le forum IHM
    Réponses: 1
    Dernier message: 22/02/2008, 18h13
  3. Réponses: 1
    Dernier message: 25/01/2008, 10h17
  4. Mise en forme conditionnelle d'un formulaire
    Par white-angel dans le forum IHM
    Réponses: 1
    Dernier message: 04/09/2007, 12h22
  5. Réponses: 5
    Dernier message: 22/01/2007, 13h40

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