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 :

Modifier une date mysql au format francais


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut Modifier une date mysql au format francais
    Bonsoir à tous,
    Voici mon problème pour lequel j'ai vu quelques solution sur le net mais qui ne fonctionne pas.

    A partir d'un formulaire, je veux insérer des données dans une table. Cela se passe sans problème sauf que les dates dans MySQL sont au format us (yyyy,mm,dd) et il faut que je les transforme au format français (jrs, mois, année)..

    J'ai trouvé une fonction sur le net mais elle ne fonctionne pas.

    Voici le code :

    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
    <?php
    /////////////////////////////
    // version 0.10 transforme une date us aaaa-mm-jj en date fr jj-mm-aaaa
    //et vice-versa
    /////////////////////////////
    function changedateusfr($dateus)
    {
    $datefr=$dateus{8}.$dateus{9}."-".$dateus{5}.$dateus{6}."-".$dateus{0}.$dateus{1}.$dateus{2}.$dateus{3};
    return $datefr;
    }
     
    function changedatefrus($datefr)
    {
    $dateus=$datefr{6}.$datefr{7}.$datefr{8}.$datefr{9}."-".$datefr{3}.$datefr{4}."-".$datefr{0}.$datefr{1};
    return $dateus;
    } 
     
     
    ?>
    <?php
    //connexion au serveur
    $host = "localhost";
    $user = "root";
    $pass = "";
     
    @mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
     
    //connexion à la BD
    $bd = "profilapprenant";
    @mysql_select_db($bd) or die ("selection impossible:".mysql_error()); 
     
    //creation de variables 
    $leNom = $_POST['leNom'];
    $lePrenom = $_POST['lePrenom'];
    $laDateTest = $_POST['laDateTest'];
    $laDateNaissance = $_POST['laDateNaissance'];
    $leNiveauBac = $_POST['leNiveauBac'];
     
    $datefr=changedateusfr($laDateTest); 
     
      $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES('$leNom', '$lePrenom', '$laDateTest', '$laDateNaissance', '$leNiveauBac')";
     
     
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
     
     
    //header("Location : secret.php");
     
    ?>
    Je me demande ce qui ne va pas quand j'appelle cette fonction ? est elle bien positionnée ?

    Avez vous une autre solution pour modifier mon champ de la table ?

    Merci à toute personne qui voudra bien m'aider

  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
    Plusieurs erreurs
    - tu utilises des variables intermédiaires qui ne servent à rien et tu n'utilises pas la bonne pour la date
    - tu ne protéges pas ta requêtes contre les injections
    - tu n'utilises pas les fonctions Mysql de conversion de date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Bonjour sabotage,
    Quelles sont les variables intermédiaires qui ne servent à rien ? Est ce $leNom, $lePrenom ect...?

    J'ai utilisé ton code mais il s'affiche des erreurs notamment que les index leNom, lePrenom, laDateTest etc... sont indéfinis. Pourtant dans le formulaire l'attribut name porte ses noms. Comme $_POST crée un tableau associatif, je ne comprends pas pourquoi l'index est indéfini.

    Voici le code :

    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
    <?php
    //connexion au serveur
    $host = "localhost";
    $user = "root";
    $pass = "";
     
    @mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
     
    //connexion à la BD
    $bd = "profilapprenant";
    @mysql_select_db($bd) or die ("selection impossible:".mysql_error()); 
     
    //creation de variables 
    /*
    $leNom = $_POST['leNom'];
    $lePrenom = $_POST['lePrenom'];
    $laDateTest = $_POST['laDateTest'];
    $laDateNaissance = $_POST['laDateNaissance'];
    $leNiveauBac = $_POST['leNiveauBac'];
      */
     
      $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateTest']) ."'
    , '%d/%m/%Y'),
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";
     
     
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
     
    //$sql = "SELECT DATE_FORMAT(dateTest, \'%d %m %Y\') FROM individu";
    //header("Location : secret.php");
     
    ?>
    Par ailleurs, comment fait on pour protéger la requete contre les injections ?

    Enfin, avec un le code tel qu'écrit ci dessus un même utilisateur peut s'inscrire un nombre de fois illimité dans la base de données. Comment limiter cela, par un test if : sachant que pour l'instant je ne mets pas de pseudo et de mot de passe sur quoi va porter mon test. Est sur le nom ET prenom ET date de naissance ?

    Merci pour ton aide précieuse

  4. #4
    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
    Tu peux controler avec
    Tu as peut etre un probleme avec les majuscules.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Re sabotage,
    J'ai mis le nom de variables à la place de $_POST['leNom']. Maintenant m'apparaît l'erreur suivante :
    La requete a échoué:Column 'dateTest' cannot be null.
    Pourtant quand je remplis le formulaire la date est renseignée.

    D'où peut venir cette erreur ?

    Merci pour ton aide

  6. #6
    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
    Tes variables intermediaires ne servent a rien.

    As-tu controlé comme je t'ai indiqué ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Oui, j'ai fait comme tu m'as dit et il m'a indiqué l'erreur dans le tableau assocciatif

  8. #8
    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
    quelle erreur ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Bonsoir sabotage, bonsoir php.dev
    Voici l'erreur généré :

    Array ( )
    Notice: Undefined index: leNom in C:\wamp\www\SP1_Kolb\inscription.php on line 24

    Notice: Undefined index: lePrenom in C:\wamp\www\SP1_Kolb\inscription.php on line 25

    Notice: Undefined index: laDateTest in C:\wamp\www\SP1_Kolb\inscription.php on line 26

    Notice: Undefined index: laDateNaissance in C:\wamp\www\SP1_Kolb\inscription.php on line 28

    Notice: Undefined index: leNiveauBac in C:\wamp\www\SP1_Kolb\inscription.php on line 30

    et voici le code :

    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
    <?php
    //connexion au serveur
    $host = "localhost";
    $user = "root";
    $pass = "";
     
    @mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
     
    //connexion à la BD
    $bd = "profilapprenant";
    @mysql_select_db($bd) or die ("selection impossible:".mysql_error()); 
     
    print_r($_POST);
      $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateTest']) ."'
    , '%d/%m/%Y'),
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
     
     
    ?>
    Merci pour votre aide

  10. #10
    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
    Ton $_POST est vide ; soit le formulaire n'a rien envoyé, soit il n'est pas en POST, soit tu as appellé la page sans passer par le formulaire.

  11. #11
    Membre régulier Avatar de alain78
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 160
    Points : 97
    Points
    97
    Par défaut ma fonction
    Bonsoir,

    Voici une fonction simple que j'ai construite et qui converti une date MySql en date française.

    Le résultat est retourné sous la forme JJ/MM/AAAA mais tu peux adapter le format.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function cdatefrench($date)
    {
    $annee=substr($date,0,4) ;
    $mois=substr($date,5,2) ;
    $jour=substr($date,8,2) ;
    $date1=$jour."/".$mois."/".$annee;
    return $date1;
    }

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Ok pour ces erreurs. Effectivement, je lançais le script sans passer par le formuliare.

    Mais voila que j'ai une autre erreur qui voici :

    La requete a échoué:Column 'dateTest' cannot be null

  13. #13
    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
    Dans ton $_POST tu vois bien "laDateTest" avec pour valeur une date j/m/Y ?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Oui, mais je pense supprimer du formulaire dateTest car il doit afficher la date du jour mais dans ce cas il faut que dans ma requete je mette la fonction curdate qui écrive dans le champ dateTest la date du jour. Mais comment fait on ?

  15. #15
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Tu peux essayer ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    CURDATE(),
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Bonjour et merci php.dev,
    Apparemment ta requête fonctionne mais à présent j'ai une erreur à la ligne 79. Je te joins le code :

    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
    <?php
    //On demarre les sessions
    session_start();
    session_destroy();
    session_start();
     
    // On commence par récupérer les champs
    if(isset($_POST['leNom']))      $nom=$_POST['leNom'];
    else      $nom="";
     
    if(isset($_POST['lePrenom']))      $prenom=$_POST['lePrenom'];
    else      $prenom="";
     
    if(isset($_POST['laDateNaissance']))      $email=$_POST['laDateNaissance'];
    else      $dateNaissance="";
     
    if(isset($_POST['leNiveauBac']))      $icq=$_POST['leNiveauBac'];
    else      $niveauBac="";
     
    // On vérifie si les champs sont vides
    if(empty($nom) OR empty($prenom) OR empty($dateNaissance) OR empty($niveauBac))
        {
        echo '<font color="red">Attention, tous les champs doivent être saisies !</font>';
        }
     
    // Aucun champ n'est vide, on peut enregistrer dans la table
    else     
        { 
    //connexion au serveur
    $host = "localhost";
    $user = "root";
    $pass = "";
     
    $connexion=@mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
     
     
    //connexion à la BD
    $bd = "profilapprenant";
    @mysql_select_db($bd, $connexion) or die ("selection impossible:".mysql_error()); 
     
    //creation de variables 
    /*
    $leNom = $_POST['leNom'];
    $lePrenom = $_POST['lePrenom'];
    $laDateTest = $_POST['laDateTest'];
    $laDateNaissance = $_POST['laDateNaissance'];
    $leNiveauBac = $_POST['leNiveauBac'];
     */ 
     
    /*
    //On ecrit la requete sql
      $query = "INSERT INTO individu(numIndividu, nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES('',\".$nom"\, '$prenom','dateTest, currate()', '$dateNaissance', '$niveauBac')"; 
      
    // on insère les informations du formulaire dans la table 
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
    */
     
    $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    CURDATE(),
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
     
    // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.'; 
     
    //On récupère la clé primaire
    $numIndividu = mysql_insert_id();
     
    //On va suivre l'utilisateur avec une variable de session
    $_SESSION["idUser"]=$numIndividu;
     
    //header("Location: question.php"];
     
     
    ?>
    Je pense que dans la requête, on peut utiliser directement la variable $nom puisque celle ci a été affectée de $_POST.

    Merci pour ton aide

  17. #17
    Membre averti Avatar de sayari.dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 142
    Points : 300
    Points
    300
    Par défaut
    Laquelle est la ligne 79?

    Merci de poster l'erreur

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    La ligne 79 est la dernière ligne, c'est à dire la fermeture de php. Donc je pense que l'erreur est avant mais où ???

  19. #19
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Il faut fermer l'accolade de ton else :

    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
    <?php
    //On demarre les sessions
    session_start();
    session_destroy();
    session_start();
     
    // On commence par récupérer les champs
    if(isset($_POST['leNom']))      $nom=$_POST['leNom'];
    else      $nom="";
     
    if(isset($_POST['lePrenom']))      $prenom=$_POST['lePrenom'];
    else      $prenom="";
     
    if(isset($_POST['laDateNaissance']))      $email=$_POST['laDateNaissance'];
    else      $dateNaissance="";
     
    if(isset($_POST['leNiveauBac']))      $icq=$_POST['leNiveauBac'];
    else      $niveauBac="";
     
    // On vérifie si les champs sont vides
    if(empty($nom) OR empty($prenom) OR empty($dateNaissance) OR empty($niveauBac))
        {
        echo '<font color="red">Attention, tous les champs doivent être saisies !</font>';
        }
     
    // Aucun champ n'est vide, on peut enregistrer dans la table
    else     
        {  // <-- cette accolade n'est pas fermée en fin de code
    //connexion au serveur
    $host = "localhost";
    $user = "root";
    $pass = "";
     
    $connexion=@mysql_connect($host, $user, $pass) or die("La connexion a échoué :".mysql_error());
     
     
    //connexion à la BD
    $bd = "profilapprenant";
    @mysql_select_db($bd, $connexion) or die ("selection impossible:".mysql_error()); 
     
    //creation de variables 
    /*
    $leNom = $_POST['leNom'];
    $lePrenom = $_POST['lePrenom'];
    $laDateTest = $_POST['laDateTest'];
    $laDateNaissance = $_POST['laDateNaissance'];
    $leNiveauBac = $_POST['leNiveauBac'];
     */ 
     
    /*
    //On ecrit la requete sql
      $query = "INSERT INTO individu(numIndividu, nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES('',\".$nom"\, '$prenom','dateTest, currate()', '$dateNaissance', '$niveauBac')"; 
      
    // on insère les informations du formulaire dans la table 
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
    */
     
    $query = "INSERT INTO individu (nomIndividu, prenomIndividu, dateTest, dateNaissance, niveauEtudeInd) VALUES (
    '" . mysql_real_escape_string($_POST['leNom']) ."',
    '" . mysql_real_escape_string($_POST['lePrenom']) ."',
    CURDATE(),
    STR_TO_DATE('" . mysql_real_escape_string($_POST['laDateNaissance']) ."'
    , '%d/%m/%Y'),
    '" . mysql_real_escape_string($_POST['leNiveauBac']) ."')";
     
    $result = mysql_query($query) or die ("La requete a échoué:".mysql_error());
     
    // on affiche le résultat pour le visiteur
        echo 'Vos infos on été ajoutées.'; 
     
    //On récupère la clé primaire
    $numIndividu = mysql_insert_id();
     
    //On va suivre l'utilisateur avec une variable de session
    $_SESSION["idUser"]=$numIndividu;
     
    //header("Location: question.php"];
     
     } // <-- mettre cette accolade pas forcément la mettre ici, j'ai pas regardé le code en soi...
    ?>

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 156
    Points : 48
    Points
    48
    Par défaut
    Ok merci 12monkeys.
    Par contre maintenant j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice: Undefined index: in C:\wamp\www\SP1_Kolb\inscription.php  on line 43
    La requete a échoué:Column 'dateNaissance' cannot be null
    Qu'est ce que ça veut dire ?

    Ne faut il pas dans la requête, faire la conversion au format us puisque l'utilisateur saisit la date au format français ?

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

Discussions similaires

  1. Comment convertir une date MySQL au format francophone ?
    Par bilane dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/09/2006, 10h44
  2. Parser une date avec un format
    Par titoine1978 dans le forum C++
    Réponses: 15
    Dernier message: 03/04/2006, 11h46
  3. Modifier une table MySQL via un lien
    Par Hayabusa dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/02/2006, 22h51
  4. [VBA Excel] convertir une date francaise au format anglais
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2005, 16h52
  5. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06

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