Problème insertion de données dans une table (via formulaire)
Salut,
Voilà j'ai une table étudiant associé à une table sexe. Voici le MR :
Citation:
ETUDIANT(idEtudiant, nomEtudiant, prénomEtudiant, photoEtudiant, dateDeNaissanceEtudiant, adresseEtudiant, codePostalEtudiant, villeEtudiant, paysEtudiant, emailEtudiant, #sexeId,)
SEXE(idSexe,libelleSexe)
Pour info les valeurs accepté pour le champs etudiant.sexeId sont 1 pour homme et 2 pour une femme.
Voici mon formulaire d'insertion :
Code:
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
| <div id='ajouteretudiant'>
<form name="recherche" method="post" action="etat-ajout.php">
<table border="0" width="700" align="center">
<tr>
<td><p><b>NOM :</b></p></td>
<td>
<input type=text size=20 name=nom>
</td></td>
</tr>
<tr>
<td><p><b>PRENOM :</b></p></td>
<td>
<input type=text size=20 name=prenom>
</td></td>
</tr>
<tr>
<td><p><b>SEXE :</b></p></td>
<td>
<input type="radio" name="sexe" value="Homme">Homme
<input type="radio" name="sexe" value="Femme">Femme
</td>
</tr>
<tr>
<td><p><b>DATE DE NAISSANCE :</b></p></td>
<td>
<input type=text size=20 name=datedenaissance> (format: AAAA-MM-JJ)
</td></td>
</tr>
<tr>
<td><p><b>ADRESSE : </b></p></td>
<td>
<input type=text size=20 name=adresse> (ex : 8 rue des abricots)
</td></td>
</tr>
<tr>
<tr>
<td><p><b>CODE POSTAL :</b></p></td>
<td>
<input type=text size=20 name=codepostal>
</td></td>
</tr>
<tr>
<tr>
<td><p><b>VILLE :</b></p></td>
<td>
<input type=text size=20 name=ville>
</td></td>
</tr>
<tr>
<tr>
<td><p><b>PAYS :</b></p></td>
<td>
<input type=text size=20 name=pays>
</td></td>
</tr>
<tr>
<td><p><b>ADRESSE EMAIL : </b></p></td>
<td>
<input type=text size=20 name=email> (ex : prenom.nom@utbm.fr)
</td></td>
</tr>
<tr>
<tr>
<td> </td>
<td colspan="2"><font face="Verdana">
<input type="submit" name="Envoyer" value="Envoyer" onClick="this.value='Envoi en cours ...'" style="border: 1px solid #000080; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF"></font></td>
</tr>
<tr>
<td> </td>
<td colspan="2"><font face="Verdana">
<input type="button" name="Vider" value="Vider" onclick=window.location="ajouter-un-etudiant.php" style="border: 1px solid #000080; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF"></font></td>
</tr>
</table>
</form> |
Et voici ma page de traitement qui insère le nouveau étudiant dans la table :
Code:
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
| $link = mysql_connect(HOST, USER, PASS);
mysql_select_db(BASE, $link);
//on recupere les variables du formulaire
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$sexe = $_POST['sexe'];
$datedenaissance = $_POST['datedenaissance'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['codepostal'];
$ville = $_POST['ville'];
$pays = $_POST['pays'];
$email = $_POST['email'];
//on change le format de sexe pour qu'il puisse etre accepte par la table, homme devient 1 et femme devient 2
if($sexe="Homme"){
$sexe=1;
}
elseif($sexe="Femme"){
$sexe=2;
}
$ajout="INSERT INTO etudiant(nomEtudiant,prenomEtudiant,photoEtudiant,dateDeNaissanceEtudiant,adresseEtudiant,codePostalEtudiant,villeEtudiant,paysEtudiant,emailEtudiant,sexeId) VALUES('$nom','$prenom','',$datedenaissance,'$adresse',$codepostal,'$ville','$pays','$email',$sexe)";
mysql_query($ajout) or die('Erreur SQL !<br>'.$ajout.'<br>'.mysql_error());
mysql_close($link); |
Voici l'erreur qui s'affiche :
Citation:
INSERT INTO etudiant(nomEtudiant,prenomEtudiant,photoEtudiant,dateDeNaissanceEtudiant,adresseEtudiant,codePostalEtudiant,villeEtudiant,paysEtudiant,emailEtudiant,sexeId) VALUES('nom','prenom','',2000-05-05,'ttttt',556,'yyyyy','yyyyy','yyyy@aol',1)
Incorrect date value: '1990' for column 'dateDeNaissanceEtudiant' at row 1
Merci de votre aide !
PS : pour info le champ dateDeNaissanceEtudiant est sous format DATE, j'ai essayé de le mettre en varchar et çà marche, l'étudiant est bien inséré !