Saisie date de naissance

Résolu
Signaler
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
Salut à tous, je reposte içi paske j'ai toujours eu les réponses que je voulais ;)

Voilà, j'aimerais faciliter pour l'utilisateur la saisie de sa date de
naissance, et donc mettre en place des 3 listes déroulantes avec jour,
mois, et année.

Ca fait 2 heures que je cherche et j'arrive pas à trouver, si vous avez
un lien sur un script ou un script que vous utilisez vous même, je
serais votre meilleur ami

Cela m'évitera de faire les controles sur la validité de la date.

13 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Parce que bon :

<?php

$mois = array ('janvier', 'fevrier', 'mars'); // a completer

?>

<form action="" method="post">

<select name="jour">

<?php

for ($i = 1; $i < 32; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

<select name="mois">

<?php

foreach ($mois as $num => $car) {

echo '<option value="',$num+1,'">',$car,'</option>';

}

?>

</select>

<select name="jour">

<?php

for ($i = 1940; $i < 2005; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

</form>



fait a la va vite. A toi de l'ameliorer.

Il faudra de toutes facons verifier la validite de la date avec checkdate() la.

Et dans la plupart des cas...

sinon tu peux generer les bons jours en fonctions des mois avec les
fonctions date de php, mais il te faudra dans ce cas un onchange sur le
select mois. Le plus simple reste quand meme d'utiliser checkdate apres
saisie.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Lol,



ah...il va falloir que tu apprennes, deja, comment on utilise un formulaire en php...



Une fois le formulaire soumis, on recupere les valeurs dans $_POST.

Tu ne pourras pas traiter les valeurs recuperees dans tes select sans
une soumission, donc ton code ne peut pas se trouver la ou il se trouve.

Faut un bouton submit aussi evidemment.

donc ton annee, la, sera dans $_POST['an'] par exemple. C'est avec ces variables que tu vas devoir jouer.

Ensuite pourquoi ajouter un - si c'est pour l'enlever de suite apres lol ??

Puis le remettre!

le champ date en mysql c'est yyyy-mm-dd il me semble.

donc tu dois avoir :

$madate = $_POST['an'].'-'.$_POST['mois'].'-'.$_POST['jour'];
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



quel est ton probleme au juste ? Tu veux un scrpt tout fait, ou tu ne parviens pas a le faire toi-meme ?
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

lol...heu ouais

En fait j'ai bricolé un truc comme ça mais ça me satisfait pas.



echo "<select name="jour" id="jour">";

for($i=1;$i<=31;$i++){

echo "<option value="$i">$i</option>";

}

echo "</select>";

echo "<select name="annee">";

for($j=1963;$j<=date("Y");$j++){

echo "<option value="$j" ".($j == 1980 ? "selected="selected"" : "").">$j</option>";

}

echo "</select>";

J'avais chopé une fois un script nikel avec ce que je voulais mais je
l'ai paumé. Je me suis dit que vous aviez un "modèle" pour tous les
formulaires que vous réalisiez.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Bon me suis plante pour le nom du dernier select, c'est evidemment "annee".
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

lol même pas le temps de poster ma réponse, rapide malalam !
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Lol. Bah desole mais je ne connais pas de script tout pret.

Et ca ne me parait pas tres complique a realiser en fait :-)

Ton script, il modifiat le nombre de jours disponibles selon les mois ? En dynamique ?
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

non, il proposait "lundi, mardi...", les mois, l'année, voilou, mais je crois kil faisait les controles sur les dates.
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

je te sollicite encore : comment récupérer la valeur des champs pour ensuite la saisir dans ma table mysql ?

ça passe ça ?



$date = '$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

je te sollicite encore : comment récupérer la valeur des champs pour ensuite la saisir dans ma table mysql ?

ça passe ça ?



$date = '$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Tiens t'es pas passe par les select lol ?



heu...je sais pas, essaye. OUi ca a L'air correct selon comment tu as fait ton compte avec le formulaire.
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

J'ai repris ton code ci dessus :



<?php

$mois = array ('janvier', 'fevrier', 'mars', 'avril', 'mai',
'juin', 'juillet','aout', 'septembre', 'octobre', 'novembre',
'decembre');

?>

<select name="jour">

<?php

for ($i = 1; $i < 32; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

<select name="mois">

<?php

foreach ($mois as $num => $car) {

echo '<option value="',$num+1,'">',$car,'</option>';

}

?>

</select>

<select name="an">

<?php

for ($i = 1940; $i < 2005; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

//mon rajout mais qui marche pas, hem

$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";

?>



</select>
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

oui je sais pour les formulaires, je t'ai pas mis le tout le code, mais
sinon j'avais les submit et tout t'inquiètes. D'ailleurs pour mon truc
j'ai fais comme ça :



$an = $_POST['an'];

$jour = $_POST['jour'];

$mois = $_POST['mois'];



$naissance = $an.'-'.$mois.'-'.$jour;



ça passe nikel,

merci pour tout malalam