Ajout date de naissance a partir d'une liste deroulante

Signaler
Messages postés
3
Date d'inscription
mardi 8 décembre 2009
Statut
Membre
Dernière intervention
27 décembre 2009
-
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
-
Bonjour tous le monde
je viens de creer un formulaire d'inscription ou les different champs de ce formulaire vont etre recupere par des variables php pour etre ajouter dans ma bdd mysql apres, mais j'ai un probleme c'est que le champs date qui est compose de trois listes deroulantes dans le formulaire indiquant l'annee, le mois et le jour. je vous demande est ce que c'est autorise en php de récupéré l'entree de ces rois liste en un seul variable date pour pouvoir ensuite l'ajouter dans le champs date de la base, j'ai beaucoup chercher mais je n'arrive pas a une solution concluante. voila mon formulaire
<form name="formulaire" action="inscript.php" method="post">
Identifiant


(Entrez le numero de votre carte d'étudiant)
Login



Mot de passe



Mail



Nom



Preno>



Date de naissance
<select id="date_n_Day" autocomplete="off" name="dateDay">
<?php
echo("\t\t\t\t\t<option value="">Jour </option>\n");
for($i=1 ; $i < 32 ; $i++)
{
echo("\t\t\t\t\t<option value="$i">$i</option>\n");
}
?>
</select>
<select id="date_n_Month" autocomplete="off" name="dateMonth">
<?php
echo("\t\t\t\t\t<option value="">Mois </option>\n");
for($i=1 ; $i < 13 ; $i++)
{
echo("\t\t\t\t\t<option value="$i">$i</option>\n");
}
?>
</select>
<select id="date_n_Year" autocomplete="off" name="dateYear">
<?php
echo("\t\t\t\t\t<option value="">Année </option>\n");
for($i=2007 ; $i > 1899 ; $i--)
{
echo("\t\t\t\t\t<option value="$i">$i</option>\n");
}
?>
</select>



Branche<select name="branche">

<option value="iag">informatique applique a la gestion</option>
<option value="iag">Commerce electronique</option>
<option value="iag">Systeme d'information</option>
</select>



Niveau


Spécialite






</form>

et voila ma table:

CREATE TABLE `cours_ligne`.`etudiants` (
`id` INT NOT NULL ,
`login` VARCHAR( 20 ) NOT NULL ,
`mp` VARCHAR( 20 ) NOT NULL ,
`nom` VARCHAR( 20 ) NOT NULL ,
`prenom` VARCHAR( 20 ) NOT NULL ,
`dateNais` VARCHAR( 20 ) NOT NULL ,
`branche` VARCHAR( 20 ) NOT NULL ,
`niveau` VARCHAR( 20 ) NOT NULL ,
`specialite` VARCHAR( 20 ) NOT NULL ,
`mail` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

j'ai essaye de cree une requete sql pour envoye les donnes, mais je me bloque toujours dans l'insertion de la date, j'espere que vous m'aidiez pour cette etape, ca me freine pour la continuation de mon tarvail.
et merci d'avance;

2 réponses

Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

Avant toute chose :
- indente ton code
- utilise les balises de la textbox pour la coloration syntaxique

... parce que là, franchement, c'est difficilement lisible.

Je n'ai que parcouru le code, cependant :
- faire 3 champs pour une date est une mauvaise idée.
Pourquoi ?
Parce qu'en l'état actuel rien n'interdit d'entrer "le 31 février 2006" (and so one ...)
Il faut toujours limiter au maximum la "liberté de saisie" de l'utilisateur (on ne fait pas un champ type text "genre", mais un select Homme / Femme / indéfini)

Pourquoi donc ne pas utilisé un calendrier JS déjà écrit (il y en a plein le Web) ?
Tu te contenterai alors de vérifier côté PHP (par mesure de sécurité) les données transmises.

Cordialement,

Kohntark -
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Pour complementer ce que t'as dis kohntark
mais j'ai un probleme c'est que le champs date qui est compose de trois listes deroulantes dans le formulaire indiquant l'annee, le mois et le jour. je vous demande est ce que c'est autorise en php de récupéré l'entree de ces rois liste en un seul variable


C'est ce qu'on appel "concaténer des valeurs" pour tes recherches google...

Tu peux utiliser un type date pour ta base de donnée. Tu peux aussi utiliser les timestamp php.

Pourquoi Pour faire plus facilement des calculs par la suite...

Date en timestamp

_________________________________
Min iPomme